我们谈论的文件是zip
<input type="file" id="file-input" name="files[]" accept="application/zip"/>
dojo中的代码..
fileInput = document.getElementById("file-input");
fileInput.addEventListener('change', function() {
console.log("File success");
console.log(fileInput.files[0]);
zipParser(fileInput.files[0]);
},false);
表示点击按钮获取finder / explorer ..选择zip文件,在更改列表器上我们获取文件实例
console.log显示
File success
tpk-layer1.html:168 File {webkitRelativePath: "", lastModifiedDate: Tue Sep 09 2014 11:50:18 GMT+0530 (IST), name: "Beirut.zip", type: "application/zip", size: 14263592…}lastModifiedDate: Tue Sep 09 2014 11:50:18 GMT+0530 (IST)name: "Beirut.zip"size: 14263592type: "application/zip"webkitRelativePath: ""__proto__: File
我不想要按钮实例。这就是这个onclick和listner需要删除,并且应该直接调用文件onload of page ..
如何实现这一目标。如果需要澄清,请告诉我
更多信息
我试过调用
zipParser('/samples/tpks/Beirut.zip');
但得到了回复
Uncaught TypeError: Failed to execute 'readAsArrayBuffer' on 'FileReader': The argument is not a Blob.
请注意,这适用于 Phonegap应用
答案 0 :(得分:1)
如果它是您需要的blob,您可以使用XMLHttpRequest:
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function(){
if (this.readyState == 4 && this.status == 200){
var blob = this.response;
// Call zipParser?
zipParser(blob);
}
}
xhr.open('GET', './yourZipFile.zip');
xhr.responseType = 'blob';
xhr.send();