2013-04-19 3 views
0

У меня есть массив изображений следующим образом:Как скопировать массив в файл в phonegap?

var imageArray = new Array(10); 

function onCameraPicSuccess (imgData) { 
    imageArray.push("data:image/jpeg;base64," + imgData); 
} 

я копирую захваченные изображения в этом массиве.

Теперь, как скопировать этот массив в файл? Я пользуюсь телефонной связью. Я хочу скопировать в определенную папку, например myPhotos, на свое местное место. Любая помощь?

Возможно ли это сделать в javascript? Или мне нужно вызвать JAVA-апплет из javascript для записи в файл?

ответ

2

Вы можете использовать FileWriter API для записи строковой версии ваших данных на диск.

Быстрый Пример

function win(writer) { 
    writer.onwrite = function(evt) { 
     console.log("write success"); 
    }; 
    writer.write(JSON.stringify(imageArray)); 
}; 

var fail = function(evt) { 
    console.log(error.code); 
}; 

entry.createWriter(win, fail); 

Для всего контекста см Полный пример под FileWriter API here.

Вы можете использовать FileReader API для чтения данных. Не забудьте позвонить JSON.parse, чтобы вернуть его обратно к объекту JavaScript.

+0

ОК, но я хочу сохранить в отдельный файл, а не на диск. Как myLocalPlace/myPhotos – SSS

+0

Где этот файл будет сохранен? Может ли кто-нибудь мне сказать? Его не упоминается в документации – SSS

+0

Пока вы можете читать/писать для чего важно, где он хранится? Android сохраняет файл в /data/data/com.[app-name]/[file], если я правильно помню. Существуют способы [перемещать или копировать файл в разные местоположения] (http://docs.phonegap.com/en/edge/cordova_file_file.md.html#FileEntry) искать «moveTo». – cnandreu

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