У меня проблемы с выяснением, почему некоторые загрузки на наш сервер с iOS приводят к пустым файлам. Страница загрузки - это простая форма, использующая POST и enctype в качестве multipart / form-data.
Проблема возникает только тогда, когда пользователь:
- Использует iOS
- Попытки загрузить файл из облачной службы (в настоящее время iCloud или Dropbox) , даже если файл является версией в их локальной системе
- Оставляет промежуток времени между выбором файла (с помощью кнопки
<input type=file>
) и началом загрузки, примерно от 30 секунд до 1 минуты.
Я не уверен, есть ли проблема с тайм-аутом при подключении к файлу, и если да, то это ошибка или функция безопасности. Если пользователь выберет свой файл и начнет загрузку в течение этого времени, файл будет успешно загружен.
Загрузка из «истинной» локальной системы (например, вне каких-либо облачных папок) загружает нормально, даже после любой задержки. Размер файла и тип файла не имеют значения.
Я знаю, что в Dropbox есть система Chooser, которая пересылает ссылку вместо файла, однако при тестировании файл Dropbox все равно будет успешно загружен, если пользователь сделает это в течение короткого времени.
Форма, которая обрабатывает загрузку, довольно велика со многими опциями, поэтому обычно пользователь тратит некоторое время между выбором файла и началом загрузки.
Проблема не возникает на настольных платформах Android или OSX.
Я также протестировал с помощью независимого онлайн-загрузчика, а именно http://checkfiletype.com/, и выполнил тот же тест, и происходит то же самое:
результат после нажатия кнопки «загрузить» сразу ,
а также
результат после короткой задержки и последующего нажатия кнопки «загрузить».
Я не уверен, куда идти дальше, большинство Googling выдает только результаты загрузки на облачные платформы TO, а не с них. Я что-то упустил?