0

私はコードをもっている:

 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 ファイルとして保存します。テキストに対して完全に機能します:\

4

2 に答える 2