Написать не ASCII символ с помощью PhoneGap Javascript Image - PullRequest
1 голос
/ 26 сентября 2011

Вот что я делаю: В javascript я прошу изображение с AJAX. Сервер php выполняет следующий код:

readfile($pathfile);

Затем javascript получает данные, и с помощью Phonegap я пытаюсь записать их в файл:

var writer = new FileWriter();
writer.fileName = "./../Documents/" + nameFile;
writer.write(dataReceived);

На самом деле, он работает с ASCII-символами, но функция «write» не работает с содержимым полученного изображения (формат png). Поэтому я попытался закодировать передаваемые данные в Base64, в шестнадцатеричном формате, и это работает. Но я не хочу хранить закодированные данные, потому что я хочу использовать их позже в тегах «img» (html tag). И сделать что-то вроде:

<img src='./../Documents/createdFile.png' />

Есть ли у вас какие-либо идеи о том, как записать какие-либо символы из Phonegap в файл? Или что я делаю не так с FileWriter PhoneGap? Я знаю способ сделать что-то вроде src = 'Image.php', но я должен хранить файлы на устройстве.

У меня версия Phonegap 0.9x (входит в Dreamweaver). Заранее спасибо.

1 Ответ

2 голосов
/ 27 сентября 2011

Я наконец нашел объяснение. Для начала хочу сказать, что я только что выучил javascript;). Поэтому я задал вопрос "macdonst" на github, и он ответил мне:

"К сожалению, вы не сможете писать двоичные данные с помощью FileWriter. JavaScript не может обрабатывать двоичные данные очень хорошо, и мы не можем передавать двоичные данные со стороны JavaScript на нативную сторону, поэтому у нас есть ограничение жить с.

Однако, после того как вы написали, что получили данные изображения base64, вы можете отобразить их так:

<img src="data:image/gif;base64,{this is where your base64 data goes}" />

"

Благодаря "macdonst" я опубликовал его ответ, потому что надеюсь, что он поможет таким начинающим, как я.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...