当我尝试使用 form-data
为附件创建 request.post
时,出现以下错误。该错误来自表单数据库。
var filename = options.filename || value.name || value.path;
^
TypeError: Cannot read property 'name' of null
这就是我的表单构建和附加的样子。我基本上是附加一个 JSON Web token 和一个图像文件。
var formData = new FormData();
formData.append('jwt', jwt);
var imgToAttach = fs.createReadStream(path.join(__dirname, 'abc.jpg'));
formData.append('attachmentA', imgToAttach);
sendRequest(formData);
sendRequest 函数如下所示。
function sendRequest(formData) {
var reqOptions = {
url: options.host,
formData: formData,
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}
};
request.post(reqOptions, function (err, resp) {...}
我已经尝试解决这个问题有一段时间了,但没有任何效果。非常感谢任何帮助。
最佳答案
由于某种原因,请求模块无法从表单数据中获取名称
试试这个:
const formData = {
attachmentA: {
value: imgToAttach,
options: {
filename: "abc",
contentType: "jpg"
}
}
};
关于javascript - 尝试附加附件通过 request.post 发送时,表单数据库抛出无法读取 null 属性的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44597174/