在我的一个视图中,我有一个文件上传控件。它支持通过拖放或单击按钮后打开的标准文件对话框进行文件上传。
如何在我的端到端测试中实现这一功能呢?1
如何在我的端到端测试中实现这一功能呢?1
1 只需要其中的任意一种方式即可。
1 只需要其中的任意一种方式即可。
var blob = new Blob("content", contentType);
var foo = new Blob("Hello World!", {type: "text/plain"});
function b64toBlob(b64Data, contentType, sliceSize) {
b64Data = b64Data.replace(/\s/g, '');
contentType = contentType || '';
sliceSize = sliceSize || 1024;
function charCodeFromCharacter(c) {
return c.charCodeAt(0);
}
var byteCharacters = atob(b64Data);
var byteArrays = [];
for (var offset = 0; offset < byteCharacters.length; offset += sliceSize) {
var slice = byteCharacters.slice(offset, offset + sliceSize);
var byteNumbers = Array.prototype.map.call(slice, charCodeFromCharacter);
var byteArray = new Uint8Array(byteNumbers);
byteArrays.push(byteArray);
}
var blob = new Blob(byteArrays, {type: contentType});
return blob;
}
var pdf = "JVBERi0xLjQKJcfsj6IKNSAwIG9...=="; //base64 encoded file as a String
var pdfBlob = b64toBlob(pdf, "application/pdf", 1024);
var fd = new FormData();
fd.append("uploadedFile", pdfBlob, "My PDF.pdf"*);
*目前来看,Filename参数只在Chrome上有效。
new File()
)是否足够? - John Doe