Javascript XHR Progress仅在开始时激发
我有一些代码,设计用于在缩放客户端后自动上传图像。图像上传很好,但是,XHR进度事件不会在第一次之后触发。任何帮助都将不胜感激 注意:我正在上传一个jpg的BLOB,如果有必要的话,我会将其组装并保存在服务器上 这是我的密码:Javascript XHR Progress仅在开始时激发,javascript,xmlhttprequest,Javascript,Xmlhttprequest,我有一些代码,设计用于在缩放客户端后自动上传图像。图像上传很好,但是,XHR进度事件不会在第一次之后触发。任何帮助都将不胜感激 注意:我正在上传一个jpg的BLOB,如果有必要的话,我会将其组装并保存在服务器上 这是我的密码: var uploadCameraPhoto = function ( blob, filename, dataUrl ) { var xhr = new XMLHttpRequest(); if ( xhr.upload ) { var form
var uploadCameraPhoto = function ( blob, filename, dataUrl ) {
var xhr = new XMLHttpRequest();
if ( xhr.upload ) {
var formData = new FormData() ;
formData.append( 'file', blob, filename ) ;
xhr.upload.onprogress = function(e) {
console.log(e.loaded + ' / ' + e.total);
} ;
xhr.onload = function (e) {
console.log( ( ( xhr.status === 200 ) ? 'uploaded' : ( 'error: ' + xhr.status ) ) );
} ;
var action = $( 'upload' ).get( 'action' ) ;
xhr.open("POST", action, true);
xhr.setRequestHeader("X_FILENAME", filename);
xhr.send(formData);
}
} ;
而不是:
xhr.upload.onprogress = function(e) {
console.log(e.loaded + ' / ' + e.total);
};
尝试:
谢谢你,但那似乎不行。它仍然只是在开始时开火。当我刚开始的时候,我有一个非常类似的东西,这很有效。当我切换到使用BLOB而不是实际文件时,问题就出现了。
function uploadProgress(e) {
if (e.lengthComputable) {
console.log(e.loaded / e.total);
} else {
console.log('Cannot compute progress.');
}
}
xhr.upload.addEventListener("progress", uploadProgress, false);