1
이미지를 base64 문자열로 코딩 했으므로 다른 활동에 전달하려고합니다. 인텐 트의 크기 제한 때문에이 코드를 사용하여 저장했습니다 임시로기본 64로드 임시 파일에서 이미지 문제
FileOutputStream fos;
try {
fos = openFileOutput(imagefilename, Context.MODE_PRIVATE);
try {
fos.write(encodedPhoto.getBytes());
fos.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
파일 그리고 새로운 활동에서 다른 활동 imagefilename,
를 통과 한 나는 그것을
try {
FileInputStream fis = openFileInput(imagefilename);
String strLine = null;
StringBuffer buffer = new StringBuffer();
DataInputStream dataIO = new DataInputStream(fis);
if ((strLine = dataIO.readLine()) != null) {
buffer.append(strLine);
}
dataIO.close();
fis.close();
encodedPhoto = strLine;
} catch (NullPointerException e) {
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
을 읽고이 코드를 사용했다
그러나 내가 인코딩 된 이미지 (encodedPhoto) 읽기의 그러나 문자열 어떤 오류가 발생하지 않는
내가 제대로 원래 Base64로 인코딩의 사진을 읽을 수 없습니다 이런 식으로 ...에
를 손상 보인다 이 문제를 어떻게 해결할 수 있습니까? 당신은 수정하지 않고 파일의 문자열 내용을 읽을 수있는이 방법으로try {
FileInputStream fis = openFileInput(imagefilename);
String line = null;
StringBuilder buffer = new StringBuilder();
BufferedReader reader = new BufferedReader(
new InputStreamReader(fis));
while ((line = reader.readLine()) != null) {
buffer.append(line);
}
fis.close();
encodedPhoto = buffer.toString();
} catch (NullPointerException e) {
} catch (IOException e) {
e.printStackTrace();
}
: 귀하의 읽기 방법이 잘못