如何使用普通的POST请求将文件发送到apps脚本?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用普通的POST请求将文件发送到apps脚本?相关的知识,希望对你有一定的参考价值。
我正在对应用程序脚本执行简单的文件上传,但我在将数据上传为文件时遇到了一些麻烦。让我说我有这个代码:
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
以上是关于如何使用普通的POST请求将文件发送到apps脚本?的主要内容,如果未能解决你的问题,请参考以下文章
如何将.gpx文件附加到使用Google Apps脚本发送的邮件中?
发送POST请求,包含文件MultipartFile参数,普通字符串参数,请求头参数
通过Angular App和NodeJS向快递服务器发送GET / POST请求时如何修复404 Not Found
如何使用 RestTemplate 将 POST 请求发送到相对 URL?