Сохранение изображения в Android - PullRequest
0 голосов
/ 09 августа 2011

Я использую PhoneGap. Я создал плагин, но теперь мне нужно сохранить изображение на SD-карте, учитывая URL-адрес изображения. Как я могу сохранить изображение? Я попытался использовать FileOutputStream, чтобы сохранить его, и он сохраняет его на SD-карте, но мое приложение не показывало изображение при связывании через тег html, поэтому я сделал запрос на извлечение файла и открыл его на своем компьютере, и я думаю, изображение повреждено или что-то, потому что он не открывается правильно. Эми, я использую не тот поток? Какой из них я должен использовать? спасибо.

РЕДАКТИРОВАТЬ: я забыл упомянуть, что на верхнем уровне это zip-файл, поэтому, прежде чем сохранить его, я делаю что-то вроде

FileInputInputStream inputStream = null;
ZipInputStream zipInputStream = null;

inputStream = new FileInputStream(zipFilePath);
BufferedInputStream bufferedInputStream = new BufferedInputStream(inputStream);
zipInputStream = new ZipInputStream(bufferedInputStream);
ZipEntry entry = zipInputStream.getNextEntry();
while(entry != null){
  String data = readFile(filePath); //uses zis.read(byteArra,offset,length) to read. Returns the result in a String
 saveFile(newFilePath,data); //uses FileOutputStream to save via .write( byte[] ) method

}

1 Ответ

0 голосов
/ 11 августа 2011

Проблема была не в потоке, который я использовал, а в преобразовании байта [] в строку. Что-то пошло не так в преобразовании, и поэтому, когда я пошел сохранить всю строку в файл, что-то, вероятно, было повреждено. Поэтому вместо того, чтобы читать весь файл в байтовый массив и затем преобразовывать его в строку для каждого типа файла, я просто делаю это для текстовых файлов и для файлов изображений, которые я просто читаю и сохраняю через байтовый массив

...