Я разрабатываю приложение и пытаюсь загрузить изображение в base64 на свой сервер. Тестирование кода через web работает отлично! И когда я конвертировать изображения в base64 в файл, он возвращает мне следующий объект:Загрузка Base64 в Web, но не загрузка в устройство Cordova
Но когда я пытаюсь сделать то же самое в моем мобильном приложении работает на Android устройства, тот же код создает мне следующий объект File:
Что происходит? Я вызываю функцию, чтобы преобразовать мой base64 изображение в файл, как это:
var blob = new Blob([photoBase64], {type: 'image/png'});
var filePhoto = new File([blob], "employeePhoto.png");
В первом изображении (который работал) я работала в веб-браузере. Во втором изображении (не работает) Я работал в Android-приложении. Это тот же код ...
Похоже, что конструктор файлов имеет другое поведение в веб-браузере и приложении для Android. Я не понимаю этого. Передача параметров в конструктор файлов в том же порядке создает различные объекты File (как описано на изображениях).
Вы можете оставить пятно на сервере. Не нужно преобразовывать его в объект File. (Blob - файл). –
Это не работает, потому что я должен определить имя изображения для загрузки файла на свой сервер. Даже если я попробую «formData.append (« файл »,« blob »,« employeePhoto.png »); он загружает мою фотографию, но когда я загружаю фото, он дает мне «Недопустимое фото», когда я пытаюсь открыть. –
Файл blob создан неверно (данные base64 или вы неправильно создаете blob). Так что вы не можете открыть). Я использую blob для загрузки на приложение Cordova, он работает. Попробуйте преобразовать base64 в объект blob. http://stackoverflow.com/questions/16245767/creating-a-blob-from-a-base64-string-in-javascript –