【发布时间】:2022-08-15 00:53:05
【问题描述】:
我正在尝试更新 10 个 JSON 文件的一些元数据,其中一些得到正确更新,而另一些则给我以下错误。
您可以在下面看到 6 个文件给我错误,并且 4 个文件已正确更新。
error:TypeError [ERR_INVALID_ARG_TYPE]: \"path\" 参数必须是字符串类型。收到未定义
error:TypeError [ERR_INVALID_ARG_TYPE]: \"path\" 参数必须是字符串类型。收到未定义
error:TypeError [ERR_INVALID_ARG_TYPE]: \"path\" 参数必须是字符串类型。收到未定义
error:TypeError [ERR_INVALID_ARG_TYPE]: \"path\" 参数必须是字符串类型。收到未定义
error:TypeError [ERR_INVALID_ARG_TYPE]: \"path\" 参数必须是字符串类型。收到未定义
error:TypeError [ERR_INVALID_ARG_TYPE]: \"path\" 参数必须是字符串类型。收到未定义
5.png 上传 & 5.json 更新!
4.png 上传 & 4.json 更新!
1.png 上传 & 1.json 更新!
7.png 上传 & 7.json 更新!
这是我使用的 node.js 代码:
onst FormData = require(\'form-data\');
const fetch = require(\'node-fetch\');
const path = require(\"path\");
const basePath = process.cwd();
const fs = require(\"fs\");
fs.readdirSync(`${basePath}/build/images`).
forEach(file => {
const formData = new FormData();
const fileStream = fs.createReadStream(`${basePath}/build/images/${file}`);
formData.append(\"file\", fileStream);
let url = \'https://api.nftport.xyz/v0/files\';
let options = {
method: \'POST\',
headers: {
Authorization: \'SecretApiCode\',
},
body: formData
};
fetch(url, options)
.then(res => res.json())
.then((json) => {
const fileName = path.parse(json.file_name).name;
let rawdata = fs.readFileSync(`${basePath}/build/json/${fileName}.json`);
let metaData = JSON.parse(rawdata);
metaData.file_url = json.ipfs_url;
fs.writeFileSync(`${basePath}/build/json/${fileName}.json`,
JSON.stringify(metaData, null, 2));
console.log(`${json.file_name} uploaded & ${fileName}.json updated!`);
})
.catch(err => console.error(\'error:\' + err));
});
我有 10png 文件:
1.png 2.png 3.png 4.png 5.png 6.png 7.png 8.png 9.png 10.png
和 10 个 JSON 文件
1.json 2.json 3.json 4.json 5.json 6.json 7.json 8.json 9.json 10.json
标签: javascript node.js nft