У меня проблемы с загрузкой нескольких файлов одновременно на iOS, но только если они были синхронизированы с iCloud. У устройств iOS есть функция, которая заменяет фотографии, синхронизированные с iCloud, версией с более низким разрешением.
Это означает, что версия изображения с полным разрешением больше не доступна во внутренней памяти. Идея заключается в том, что версия изображения в полном разрешении будет загружаться при каждом его использовании. Эта функция называется «Оптимизировать хранилище iPad» на iPad и «Оптимизировать iPhone хранилище» на iPhone.
Эта функция прекрасно работает при выборе одной фотографии для загрузки, в этом случае она будет отображать ход загрузки. Но выбор нескольких фотографий одновременно приведет к тому, что событие изменения входа не будет запущено вообще, и при этом не будет отображаться ход загрузки (или, возможно, он действительно очень медленный, поскольку загружает все файлы). Диалоговое окно файла закрывается после подтверждения выбранных фотографий, но после этого, похоже, ничего не происходит ..
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
</head>
<body>
<form>
<input type="file" id="upload" multiple="multiple" accept="image/*"/>
</form>
<div id="feedback"></div>
<script>
document.querySelector('#upload').addEventListener('change', onFileChosen);
function onFileChosen(e) {
const feedback = document.querySelector('#feedback');
const files = e.target.files;
feedback.innerHTML = '';
for (let i = 0; i < files.length; i++) {
const feedbackDiv = document.createElement('div');
feedbackDiv.innerHTML = files[i].name;
feedback.appendChild(feedbackDiv);
}
}
</script>
</body>
</html>
В приведенном выше фрагменте будут показаны имена загруженных файлов. Что не произойдет, если выбрано несколько синхронизированных фотографий iCloud.
У кого-нибудь еще была эта проблема, и есть ли у кого-нибудь решение этой проблемы? Или, может быть, нашли способ хотя бы показать пользователям, что что-то обрабатывается в фоновом режиме?
Заранее спасибо!