我正在开发测试平台,我想测试文件上传服务。 有没有办法读取二进制文件并将其附加到FormData
var file = someModule.readFile('test-data/roof-top.tif');
var formData = new FormData();
formData.append('file',file, 'uploadedFile');
或者我应该构建一个静态文件服务器并执行一些Ajax调用来检索我的二进制文件?
答案 0 :(得分:0)
您需要节点FileSystem来读取文件,然后创建本地JS对象的Blob,然后将文件附加到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');
});
答案 1 :(得分:0)
您可以尝试将二进制数据编码为文本(base64或字节数组)。然后,您可以将其作为javascript文件加载到浏览器中,就像您对任何其他测试数据一样。
除此之外,设置文件服务器可能就是这样。您实际上可以获得Karma to serve static files,而不需要自己设置服务器。