友好而乐于助人!
我根本不是Web Developer,但不幸的是我现在必须使用HTML / JavaScript / ASP.net。由于文件大小原因,我需要一个上传器,在上传之前拆分待上传的文件。
我在网上发现this解释并试图使用它。当然我编辑了一下。我的JavaScript现在看起来像这样:
function upload(file) {
var blob = file;
var BYTES_PER_CHUNK = 1000000; // sample chunk sizes.
var SIZE = blob.size;
//upload content
var start = 0;
var end = BYTES_PER_CHUNK;
var completed = 0;
var count = SIZE % BYTES_PER_CHUNK == 0 ? SIZE / BYTES_PER_CHUNK : Math.floor(SIZE / BYTES_PER_CHUNK) + 1;
while (start < SIZE) {
var chunk = blob.Slice(start, end); // doesn't matter if use mozSlice/webkitSlice, same error
var xhr = new XMLHttpRequest();
xhr.onload = function () {
completed = completed + 1;
if (completed === count) {
uploadComplete();
}
};
xhr.open("POST", "/ItemTracking/MultiUpload", true);
xhr.send(chunk);
start = end;
end = start + BYTES_PER_CHUNK;
}
}
单击按钮时将调用
multiUpload()(在以下代码块中)。它到目前为止工作。但每次我得到blob.Slice / blob.webkitSlice不是函数的错误。有任何想法吗?我究竟做错了什么? file是HTML-Input-File(多个)元素。 JavaSript总是杀了我。 :|
function multiUpload()
{
var files = document.getElementById('file').files;
var i;
for (i = 0; i < files.length; ++i) {
upload(files[i]);
}
}