我正在对应用程序脚本执行简单的文件上传,但我在将数据上传为文件时遇到了一些麻烦。让我说我有这个代码:
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
。我的档案在哪里?
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