我試圖通過這種方式上傳文件時讀取文件的文件大小通過ajax請求上傳文件時讀取文件大小
1。開始$ .ajax();請求啓動服務器到服務器下載文件(我使用php fopen
+ stream_copy_to_stream
);
2。開始第二個$ a.ajax();請求每個合計時間並嘗試讀取當前文件大小,直到下載過程結束;
不幸的是,這不能按預期工作。
這兩個請求都是正確的,但文件大小僅在文件完全傳輸後才能讀取。所以我得到的所有警告消息在過程結束而不是同時
我想我正在做一些無法完成的事情?或者我只是想念一些東西?
僞代碼:
var uploadStart = 0;
function startUploadProgressBar(file) {
var file = file;
uploadStart = setInterval(function() {
$.ajax({
data: 'uploadProgress=1&file=' + file,
success: function(json) {
alert(json.filesize)
}
});
},
1000);
}
$('#submit').click(function() {
var file = somevar;
startUploadProgressBar(file);
$.ajax({
success: function(json) {
clearInterval(uploadStart);
}
});
return false;
});
我需要漸進式地獲取文件大小(),而不僅僅是在最後!你明白嗎? –
你想爲你的上傳生成一個進度條。在傳輸開始之前在文件上使用'filesize()',以獲得總文件大小而不存在任何文件訪問問題。然後跟蹤您傳輸的文件的數量。比例是你的進度條更新。 如果這不是你正在做的事情,你需要更新問題來澄清一些事情。 –