【发布时间】:2021-05-31 03:12:10
【问题描述】:
我想用 superagent 上传一个 XML 文件(Protractor Testresults,所以它在 NodeJS 上下文中)。我使用“fs”来读取带有 readFileSync 的 XML 文件,它返回 XML 文件的缓冲区对象。不幸的是,我不知道如何将此缓冲区附加到请求的 formData 中。如果我这样做,我只会得到一个错误:“字符串”参数必须是字符串、缓冲区或 ArrayBuffer 类型之一。接收到的类型对象
//Imports and var declaration
var FormData = require('form-data');
var fs = require('fs');
const xmlFile = "\\junit_xml_generation\\file.xml";
var formData = new FormData();
//Read File
fs.readFileSync(__dirname + xmlFile, function(err, data) {
//Add To Form Data
formData.append('file', Buffer.from(data, 'utf-8'), {filename: 'file.xml'});
//Request
superagent
.post("http://myurl.com")
.set("Content-Type", "multipart/form-data")
.type('xml')
.send(formData)
.end(function(err, res){
console.log("Result: ", res, err);
});
});
我已经尝试了很多,但我不知道如何将其转换为 Buffer/ArrayBuffer,因此请求不会给我不兼容类型的错误...
【问题讨论】:
标签: javascript html node.js web multipartform-data