サードパーティのAPIを使用して、そのサーバーに動画をアップロードしています。ビデオをアップロードしたら、検証呼び出しを行って、すべてのファイルがアップロードされているかどうかを確認します( 'verifyUpload()')。すべてのファイルがアップロードされている場合は問題ありません。それ以外の場合は、アップロードされた最後のバイトからアップロードを再開します( 'resumeUpload()')。私が抱えている問題、そしてその理由がわかりませんが、「resumeUpload()」が実行されていないように見えることです-これを間違ってコーディングしましたか?
コンソールでは、resumeUpload()から実行されている次の行を確認できます。
console.log( 'vim.resumeUpload()...');
console.log( 'stringArgument:' + stringArgument);
ただし、次の行の代わりに:xmh.setRequestHeader( 'Content-Range'、stringArgument);
実行中です:xmh.setRequestHeader( 'Content-Range'、 'bytes / ');
verifyUpload()から実行されます。
verifyUpload()
// VERIFY UPLOAD (SO FAR)
var verifyUpload = function(){
console.log('verifying upload() ...');
var xmh = new XMLHttpRequest;
xmh.onreadystatechange = function(){
console.log('xmh.readyState111: ' + xmh.readyState);
console.log('xmh.status111: ' + xmh.status);
if(xmh.readyState == xmh.HEADERS_RECEIVED){
console.log('VERIFY RESPONSE HEADERS: ' + xmh.getAllResponseHeaders());
console.log('getResponseHeader(\'Content-Range\')' + xmh.getResponseHeader("Range"));
var range = xmh.getResponseHeader("Range");
var rangeArray = range.split('-');
var bytesUploaded = rangeArray[1];
bytesUploaded = Number(bytesUploaded);
var leftToUpload = vim.vidFileSize-bytesUploaded;
console.log('bytesUploaded: '+bytesUploaded);
console.log('byteLeftToUpload: '+ leftToUpload);
// IF ALL THE FILE HAS BEEN UPLOADED TO THE SERVER
// COMPLETE UPLOAD
if(leftToUpload == 0){
completeVidUpload();
}else{
// NEED TO RESUME UPLOAD FROM WHERE WE LAST LEFT OFF
vim.bytesToUploadFrom = bytesUploaded + 1;
var stringValue = 'bytes '+vim.bytesToUploadFrom+'-'+vim.vidFileSize+'/'+vim.vidFileSize+'';
console.log('stringValue: '+ stringValue);
resumeUpload(stringValue);
}
}
}
xmh.open('PUT', vim.upload_link_secure);
xmh.setRequestHeader('Content-Range', 'bytes */*');
xmh.send();
}
resumeUpload():
// RESUME UPLOAD WHERE LEFT OFF
var resumeUpload = function(stringArgument){
console.log('vim.resumeUpload() ...');
console.log('stringArgument: ' + stringArgument);
var xmh = XMLHttpRequest;
// SET EVENT LISTENERS
// SET EVENT LISTENERS
xmh.upload.addEventListener('progress', uploadProgres, false);
xmh.addEventListener('load', uploadComplete, false);
xmh.addEventListener('error',uploadError, false);
xmh.onreadystatechange = function(){
if(xmh.readyState == xmh.HEADERS_RECEIVED){
console.log('VERIFY RESPONSE HEADERS222: ' + xmh.getAllResponseHeaders());
console.log('getResponseHeader(\'Content-Range\')222' + xmh.getResponseHeader("Range"));
}
}
xmh.open('PUT', vim.upload_link_secure);
xmh.setRequestHeader('Content-Range', stringArgument);
xmh.send();
}
私はあなたnew
がresumeUpload
ここで逃したと思います:
var xmh = XMLHttpRequest;
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加