Ошибка загрузки BLOB-объекта в Azure с ошибкой «Недопустимый объект файла HTML» - PullRequest
0 голосов
/ 27 августа 2018

Я использую библиотеку Azure JS для загрузки BLOB-объектов.Ниже приведен код, который я написал.

        var speedSummary = blobService.createBlockBlobFromBrowserFile(container, fileList[i]["FileID"], selectedFiles[i], options, function (error, result, response) {
        finishedOrError = true;
        if (error) {
            //Handle errors in upload
            console.log(error);
            alert("upload failed for " + selectedFiles[i].name);
        } else {
            //Handle success
            //Trigger postback to save the file list to database.
            uploadedFiles++;
            triggerPostBack(uploadedFiles);
        }
    });

Этот код работал до прошлой недели, потому что я проверял его.Теперь каждый раз происходит сбой с ошибкой «Недопустимый объект файла HTML».

Я попытался отладить библиотеку Azure JS и нашел место, где происходит ошибка.

if (!azureutil.isBrowser() ||
!browserFile ||
!browserFile.constructor ||
(!azureutil.isIE() && !browserFile.constructor.name) ||
(!azureutil.isIE() && browserFile.constructor.name !== 'File' && browserFile.constructor.name !== 'Blob') ||
!azureutil.objectIsInt(browserFile.size)) {
return fail(new ArgumentError('type', 'Invalid HTML File object.'));
} else {
callback();
return true;
}

По какой-то причине это условие постоянно нарушается.Я попытался отключить это условие, а затем в более поздней части библиотеки Azure JS я получил еще одну ошибку, говоря, что «срез не является функцией» во время процесса разбиения на фрагменты.

Я понятия не имею, почему этот код вдруг дает сбой, учитывая, что он работал нормально до выходных.Я проверил списки файлов, и они кажутся правильными объектами файлов со всеми соответствующими свойствами.

1 Ответ

0 голосов
/ 27 августа 2018

Очевидно, это не имеет ничего общего с библиотекой Azure JS.Фактический объект файла был частью нового объекта json, который содержал другие свойства, такие как полный путь к файлу.Изменена строка ниже, чтобы получить фактический объект файла HTML.

var speedSummary = blobService.createBlockBlobFromBrowserFile(container, fileList[i]["FileID"], selectedFiles[i].fileObject, options, function (error, result, response) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...