Приношу свои извинения, если это неуместный вопрос:
Моя проблема
Я создаю (или пытаюсь создать) RESTful API для приложения, которое используетзагрузка файлов в основном для использования с клиентом JavaScript.Как многие из вас знают, не существует стандартного кросс-браузерного способа загрузки файлов с использованием Ajax (кроме метода iframe ).К сожалению, в моем приложении для загрузки файла требуется аутентификация, и поэтому нет способа использовать метод iframe, который потенциально не может нарушить работу пользовательского интерфейса.затем может быть сохранен в браузере. Это очень затрудняет выход из системы.
Мое решение
Итак, МОЕ решение - это кодировка base64, которая выглядит следующим образом:
- Использование iframe для отправки файла в мой скрипт (назовем его base64.php)
- Этот скрипт преобразует файл в base 64, а затем возвращает строку.
- Приложениеберет строку и отправляет ее вместо файла в мой API
- API берет строку base 64 и преобразует ее обратно в файл.
- Файл "загрузка" завершена
По сути, я использую метод iframe для публикации файла в сценарии, который принимает сценарий, кодирует его и возвращает строку. Затем я выполняю свой ajax-запрос как обычно, используя кодированный код Base64Нг, а не сам файл.
Мой вопрос
Мой вопрос: кто-нибудь видит какие-либо проблемы с этим решением?Есть ли способ лучше?Или я могу что-то сделать, чтобы улучшить его?
Спасибо!