2015-11-16 1 views
0

Довольно новый Javascript и по-прежнему работает с этой проблемой после попытки много вещей:Загрузки в Google Drive - как использовать в кодировке base64 изображения или путь изображений

Я использую http://ngcordova.com/docs/plugins/camera/ для захвата изображения на телефоне и может извлекаться как изображение с кодировкой base64 или как путь к расположению изображения (файл: //storage/emulated/...jpg).

Следующим Я использую это для загрузки файлов на Google Диск: https://github.com/googledrive/cors-upload-sample

Я успешно загрузил текстовый файл с данным примером:

* @example 
* var content = new Blob(["Hello world"], {"type": "text/plain"}); 
* var uploader = new MediaUploader({ 
* file: content, 
* token: accessToken, 
* onComplete: function(data) { ... } 
* onError: function(data) { ... } 
* }); 
* uploader.upload(); 

Но когда я загрузить изображение, оно не может быть просмотрен, и я предполагаю, что это потому, что я закодировал это неправильно.

Вот что я пытался до сих пор:

  • с использованием base64-закодированный ImageData непосредственно
  • создания сгусток изображения/тип Jpeg и положить 64encoded ImageData внутри
  • добавления «данные: изображение/JPEG; base64»перед ImageData
  • предложение этого человека: https://stackoverflow.com/a/27197907/5568940

Можно ли также использовать FileReader для чтения пути изображения в файл? Я просто не могу понять, что именно следует входить в часть «файл: контент» для изображения для приведенного выше кода примера.

Любая помощь была бы принята с благодарностью!

ответ

0

Загрузка выполняется с байтов необработанного изображения.

Не пробовал, но самый простой подход, скорее всего, работает с URL изображения, который вы можете разрешить в файл (который также является блоб :)

Что-то вроде:

window.resolveLocalFileSystemURL(uri, function(fileEntry) { var errorHandler = ...; fileEntry.file(function(file) { var uploader = new MediaUploader({ file: file, token: accessToken, onComplete: function(data) { ... } onError: function(data) { ... } }); uploader.upload(); }, errorHandler); });

+0

Спасибо, Стив! Это похоже на то, что мне нужно. В качестве примечания, я сталкиваюсь с проблемами с window.resolveLocalFileSystemURL(), но я думаю, что это отдельная проблема. –

Смежные вопросы