Dojo 1.10 kullanarak dosyaları sunucuya yüklüyorum. Yükleme için dojo/request/xhr modülünü kullanıyorum ve ilerlemeyi yüzdelerde göstermeye çalışıyorum. İlerlemenin geri dönüşünün sadece bir tanesiyle ve sadece transferin sonunda ateşlendiği konusunda kafam karıştı. Dosya başarıyla aktarıldı. Benim kod parçasını bakınız:Dojo 1.10 ve XHR: progress callback çağrılmadı
function uploadFile(){
require([
'dojo/dom',
'dojo/request/xhr'
], function(dom, xhr) {
//... some unimportant code here
// Upload file now:
xhr(targetURL, {
handleAs: 'text',
method: 'POST',
headers: {'X-CSRF-Token': getAuthToken(), 'accept-charset': 'UTF-8'},
data: formData
}).then(function(data){
// Success => refresh file list
refreshDocList();
}, function(err){
// Failed
uploadFailed(err);
}, function(evt){
// Progress of upload
console.log(evt);
dom.byId('progress').innerHTML = 'Done ' + (evt.loaded * 100/evt.total) + '%';
});
});
}
ben FireFox (45.0.1 Windows 8.1), Chrome (49.0.2623.110 m Windows 8.1), MSIE (11.0.9600.18231 Windows 8.1), FireFox (bunu test 44.0, Ubuntu 15.04), Krom (48.0.2564.116, Ubuntu 15.04). Belirtilen tarayıcıların hiçbirinde ilerleme durumu geri bildirimi beklendiği gibi çağrılır. Sorunumu çözmek için herhangi bir ipucu?
dosya ne kadar büyük karşıya olduğunu görüyor musunuz? İlerleme olayının kovulması için zamanın olmaması olabilir mi? Dojo kodunun bunun için kullanılışı şu şekildedir: https://github.com/dojo/dojo/blob/master/request/xhr.js#L141, eğer dojo'nun bir kaynak sürümünü kullanırsanız, – ben
numaralı hata ayıklama bilgilerini ekleyebilirim küçük dosyalar ile birlikte büyük dosyalar (50MB üzeri) ile test edildi. Aynı davranış. –