我正在对应用程序脚本执行简单的文件上传程序,但我在将数据上传为文件时遇到了一些麻烦。假设我有这段代码:
function doPost(e) {
console.log(e)
}
我在node.js
中做了一个简单的POST请求 let formData = {
theFile: {
value: fs.createReadStream('myawersome.file'),
options: {
filename: 'myawersome.file',
contentType: 'some/mimetype'
}
}
}
let params = {
url: 'my-script-url',
followAllRedirects: true,
formData: formData
}
request.post(params)
那么,问题是什么。我在e
doPost
param中看不到任何文件。那是我的console.log输出
{"queryString":"","parameter":{},"contextPath":"","parameters":{},"contentLength":9483}
我可以看到我在请求中有一些数据,但一切都是空的。 e.parameters.theFile
和e.theFile
是undefined
。我的档案在哪里?
答案 0 :(得分:1)
createReadStream
的来电只是创建了流,但没有读取文件
阅读文件,试试:
var rs = fs.createReadStream('myawersome.file');
rs.on("data", function (chunk) {
var content = chunk.toString();
var formData = {
theFile: {
value: content,
options: {
filename: 'myawersome.file',
contentType: 'some/mimetype'
}
}
}
var params = {
url: 'my-script-url',
followAllRedirects: true,
formData: formData
}
request.post(params)
});
rs.resume(); // this launches the read