我正在创建一个名为kim-api的NPM软件包,但是,当我将映像路径传递到模块时,它将返回null
。
这是.upload()
方法的代码:
module.exports = (image) => {
return new Promise((resolve, reject) => {
if (!image) throw new TypeError('No image provided.');
const request = require('request'),
fs = require('fs'),
options = {
method: "POST",
url: "https://kim.kieranhowland.co.uk/api/upload",
port: 443,
headers: {
"Content-Type": "multipart/form-data"
},
formData : {
"image": fs.createReadStream(image)
}
};
request(options, (err, res, body) => {
if (err) throw (err);
try {
let parsed = JSON.parse(body);
parsed.url = `https://kim.kieranhowland.co.uk/uploads/${parsed.info.image_id}/`
resolve(parsed);
} catch(error) {
reject(err);
}
});
})
}
这是我用来测试软件包的方法:
const kim = require('kim-api')
const path = require('path');
console.log(path.join(__dirnane, 'check.png')); // returns image path
kim.upload(path.join(__dirname, 'check.png')).then(img => {
console.log('Image url: ' + img.url);
}).catch(err => console.error(err))
kim.uploads().then(data => {
console.log('Total uploads: ' + JSON.stringify(data))
});
这是输出:
C:\Users\User\Desktop\Code Things\test-kim\check.png
null
Total uploads: {"status":200,"data":{"uploads":4622}}
.upload()
方法返回null
。.uploads()
方法返回预期的输出。有人会碰巧知道是什么使我的代码不返回已解析的输出,还是什么使它返回了null
?
谢谢!
答案 0 :(得分:0)
那真是愚蠢。
} catch(error) {
reject(err);
}
这部分代码显然编写不正确。将err
更改为error
使我可以查看并修复错误。抱歉!