Почему не загружаются файлы на сервер из Safari с помощью библиотеки resumableJS?
Использую ResumableJS для загрузки изображений на сервер. Из браузера Chrome загрузка проходит нормально. Если пробую ту же операцию из Сафари, то загрузка происходит раз от раза. По наблюдениям, там почему-то отправка файла идет какими-то микроскопическими чанками, по 1-5 кб и прекращается внезапно. Размер чанка настроен в коде. Никаких ошибок в консоли не показывает.
function initResumable(uniqueKey, fieldName, userId, fileType) {
var uploader = new Resumable({
target: `${apiUrl}product/upload/${userId}`,
chunkSize: 307200,
testChunks: false,
prioritizeFirstAndLastChunk: true,
maxFiles: 1,
});
uploader.opts.fileType = fileType;
var btn = document.createElement("BUTTON");
btn.id = uniqueKey;
uploader.assignBrowse(btn);
btn.click();
//console.log("btn.click()");
uploader.on("fileAdded", (file, event) => {
// console.log("uploader.on", event);
nowUploading.push(file.uniqueIdentifier);
uploader.upload();
});
uploader.on("fileSuccess", (file, message) => {
console.log("uploaded ok", file, "for", fieldName);
if (fieldName === "photoDescriptionUrl1R") {
photoDescriptionUrl1 = file.fileName;
} else if (fieldName === "photoDescriptionUrl2R") {
photoDescriptionUrl2 = file.fileName;
} else if (fieldName === "photoDescriptionUrl3R") {
photoDescriptionUrl3 = file.fileName;
} else if (fieldName === "photoDescriptionUrl4R") {
photoDescriptionUrl4 = file.fileName;
} else if (fieldName === "photoDescriptionUrl5R") {
photoDescriptionUrl5 = file.fileName;
} else if (fieldName === "photoDescriptionUrl6R") {
photoDescriptionUrl6 = file.fileName;
} else if (fieldName === "productLogoURL") {
productLogoURL = file.fileName;
} else if (fieldName === "productPromoPictureURL") {
productPromoPictureURL = file.fileName;
} else if (fieldName === "productMiniPromoPictureURL") {
productMiniPromoPictureURL = file.fileName;
} else if (fieldName === "productLauncherFileUrl") {
productLauncherFileUrl = file.fileName;
} else {
console.log("fileName is unknown", file.file);
}
console.log("file URL is", fieldName);
var event = new CustomEvent("uploadedFile" + fieldName, {
detail: {
file: file.file,
fieldName: fieldName,
},
});
console.log("file---", file.file);
document.dispatchEvent(event);
return file.fileName;
});
uploader.on("pause", (file, message) => {
console.log("pause", file, message);
});
uploader.on("fileProgress", (file, message) => {
progressBar = uploader.progress();
var event = new CustomEvent("fileProgress", {
detail: {
progress: progressBar,
},
});
document.dispatchEvent(event);
console.log("fileProgress", this.progressBar);
});
uploader.on("fileError", (file, message) => {
console.log("fileError", file, message);
});
uploader.on("cancel", (file, message) => {
console.log("fileCancel", file, message);
});
}
Подскажите, как исправить эту проблему?