Когда я пытаюсь загрузить файлы в мое хранилище BLOB-объектов, я всегда получаю процент прогресса как 0 или 100. (Нет проблем при загрузке, файлы загружаются точно в мое хранилище. Единственная проблема - с процентом прогресса)
Вот мой код рендеринга, который вызывает метод uploadFiles
render(){
if(this.props.files.length > 0)
this.uploadFiles(this.props.files);
return (<div></div>);
}
Вот метод uploadFiles
uploadFiles = (files) => {
var accountName = this.props.accountName;
var SasToken = this.props.sasToken;
var blobUri = 'https://' + accountName + '.blob.core.windows.net';
var blobService = AzureStorage.Blob.createBlobServiceWithSas (blobUri, SasToken);
var containerName = 'my-blob';
Array.from(files).forEach(file => {
var customBlockSize = file.size > 1024 * 1024 * 32 ? 1024 * 1024 * 4 : 1024 * 512;
blobService.singleBlobPutThresholdInBytes = customBlockSize;
var finishedOrError = false;
var speedSummary = blobService.createBlockBlobFromBrowserFile(containerName, file.name, file, {blockSize : customBlockSize},(error, result, response) => {
if(error){
console.log(error);
} else {
console.log(result);
finishedOrError = true;
console.log(response);
}
})
/*Here when I tried to console, I am always getting process variable value as zero which is declared in refreshProgress() method*/
function refreshProgress() {
setTimeout(function () {
if (!finishedOrError) {
var process = speedSummary.getCompletePercent();
console.log('entered',process);
refreshProgress();
}
}, 300);
}
refreshProgress();
});
}
Я ссылался на этот https://dmrelease.blob.core.windows.net/azurestoragejssample/samples/sample-blob.html для загрузки файла на azure. Но часть прогресса мне не ясна.
Пожалуйста, помогите мне решить эту проблему. Заранее спасибо