toh*_*ter 2 javascript file-upload dropzone.js
我正在为包含dropzone.js元素的网页编写测试工具,让我们调用它myDropzone,由$('#my-dropzone')元素表示.
题:
我可以使用javascript来模拟将可上传的文件放到dropzone上吗?
我想(但我不确定)这可能会带来类似的东西:
myDropzone.步骤#2很简单,但步骤#1涉及创建一个类似文件的对象(包含真正的数据流?),一旦删除它就可以实际上传.
我试图创建一个空文件,如这个,然后使用myDropzone.addFile(...),但因为没有数据有效载荷不会导致上载的文件.
谢谢!
我能做的是从base64编码的文件(在这种情况下是图像)创建一个Blob文件并将其传递给addFile(),因此它实际上是模拟删除文件.
dropZone.addFile(base64toBlob(base64FileData, 'image/png'));
Run Code Online (Sandbox Code Playgroud)
在哪里base64toBlob:
function base64toBlob(b64Data, contentType, sliceSize) {
contentType = contentType || '';
sliceSize = sliceSize || 512;
var byteCharacters = atob(b64Data);
var byteArrays = [];
for (var offset = 0; offset < byteCharacters.length; offset += sliceSize) {
var slice = byteCharacters.slice(offset, offset + sliceSize);
var byteNumbers = new Array(slice.length);
for (var i = 0; i < slice.length; i++) {
byteNumbers[i] = slice.charCodeAt(i);
}
var byteArray = new Uint8Array(byteNumbers);
byteArrays.push(byteArray);
}
var blob = new Blob(byteArrays, {type: contentType});
return blob;
}
Run Code Online (Sandbox Code Playgroud)
完整演示http://jsfiddle.net/P2dTF/52/
| 归档时间: |
|
| 查看次数: |
1232 次 |
| 最近记录: |