我正在为我开发一个测试平台,我想测试一个文件上传服务。有没有办法读取二进制文件并将其附加到FormData中?
var file = someModule.readFile('test-data/roof-top.tif');
var formData = new FormData();
formData.append('file',file, 'uploadedFile');或者我应该构建一个静态文件服务器,并执行一些Ajax调用来检索二进制文件?
发布于 2016-10-04 14:15:01
您可以尝试将二进制数据编码为文本(base64,或字节数组)。然后,您可以像对任何其他测试数据一样,将其作为javascript文件加载到浏览器中。
除此之外,设置文件服务器可能是可行的方法。您实际上可以将Karma为静态文件服务发送到您不需要自己设置服务器的位置。
发布于 2016-10-04 12:56:17
您将需要节点的FileSystem读取文件,然后创建水滴 (原生JS对象),然后将文件追加到FormData
下面的场景将产生类似的结果:
const fs = require('fs');
var formData = new FormData();
fs.readFile('test-data/roof-top.tif', function(err, data){
var blob = new Blob(data);
formData.append('file', blob, 'uploadedFile');
});https://stackoverflow.com/questions/39852153
复制相似问题