我有一个编码为 base64 字符串的图像,我想将它传递给另一个活动,由于 Intent 中额外的大小限制,我使用此代码将其存储在临时文件中
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();
我已经在另一个活动中传递了图像文件名,
在新的活动中,我使用了这段代码来阅读它
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();
}
但是,通过这种方式,我无法正确读取原始编码的 Base64 照片...
我没有收到任何错误,但是读取的编码图像(encodePhoto)的字符串似乎已损坏
我该如何解决这个问题?