私はコードをもっている:
File myFile = new File("/sdcard/Pictures/MyCameraApp/1.jpg");
FileInputStream fin = null;
// create FileInputStream object
try {
fin = new FileInputStream(myFile);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
byte fileContent[] = new byte[(int)myFile.length()];
// Reads up to certain bytes of data from this input stream into an array of bytes.
try {
fin.read(fileContent);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//create string from byte array
String s = new String(fileContent);
return new NanoHTTPD.Response(HTTP_OK, "image/jpeg", s);
しかし、ブラウザを使用すると、破損した JPEG ファイルが表示されます。私は何を間違っていますか?ユーザーがアドレスを入力して 1.jpg ファイルを表示するようにしたい
編集:コードを次のように変更しました:
File myFile = new File("/sdcard/Pictures/MyCameraApp/1.jpg");
FileInputStream fin = null;
// create FileInputStream object
try {
fin = new FileInputStream(myFile);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
ByteArrayOutputStream bos = new ByteArrayOutputStream();
byte[] b = new byte[1024];
int bytesRead;
try {
while ((bytesRead = fin.read(b)) != -1) {
bos.write(b, 0, bytesRead);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
byte[] fileContent = bos.toByteArray();
//create string from byte array
String s = new String(fileContent);
return new NanoHTTPD.Response(HTTP_OK, "image/jpg", s);
まだ動作しません..... ページに入ると、破損した jpg ファイルが表示されます (image/jpg または text/html の代わりに image/jpeg を記述しても動作しません。テキストを jpg ファイルとして保存します。テキストに対して完全に機能します:\