質問編集履歴

2 うまくいかず

eisaku123

eisaku123 score 44

2018/02/22 23:30  投稿

サーバ側からクライント(Android アプリ)に画像データを送る方法を教えてください
 
 
いつもお世話になります。
表記の通り、
サーバ(サーブレット)からクライント(Android アプリ)側に画像データを送る方法を教えてください。
下記のソースのように文字列は送れるけど、画像ってどういう考えで送れば良いのか思い当たらないです
バイナリで送って-->クライアント側で変換する?とか
もっと簡単な方法とかあるの?
```java
//サーバ側 
public class Hello extends HttpServlet{
   public void doGet ( HttpServletRequest request, HttpServletResponse response )
   throws ServletException, IOException {
       response.setContentType("image/jpeg; charset=UTF-8");
       PrintWriter out = response.getWriter();
       out.println("Hello Servlet!");  //文字列は送れる
       out.println(**.jpeg); //<--------このような感じ?
   }
}
```  
 
以下のように変えましたがうまくいかず。意味不明。  
画像のファイル1.jpgは同じ位置にあります。  
![イメージ説明](b2d3892df1452a321ffe48ee0df66e8a.png)  
 
```java  
public void doGet(  
   HttpServletRequest request,  
   HttpServletResponse response  
) throws ServletException, IOException {  
 response.setContentType("application/octet-stream");  
 response.setHeader("Content-Disposition" ,  
                    "attachment; filename='1.jpg");//変更  
 
 OutputStream out = response.getOutputStream();  
 
 // ここをファイルからbyte[] を取り出してください。  
 byte[] downloadData = "1.jpg".getBytes(); //変更 これだとスマホ側に1.jpgのまま出るだけ  
 out.write(downloadData);  
 out.close();  
}  
```
  • Java

    18621 questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

  • Android

    8342 questions

    Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

  • サーブレット

    177 questions

    サーブレット(Servlets)とはウェブやアプリケーションサーバー上に動くプログラムのことであり、ウェブブラウザや他のHTTPクライエントとデータベースやHTTPサーバー上のアプリケーションの中間層としての働きをします。

  • Android Studio

    5086 questions

    Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

1 ソース編集

eisaku123

eisaku123 score 44

2018/02/22 21:40  投稿

サーバ側からクライント(Android アプリ)に画像データを送る方法を教えてください
いつもお世話になります。
表記の通り、
サーバ側(サーブレット)からクライント(Android アプリ)に画像データを送る方法を教えてください。
サーバ(サーブレット)からクライント(Android アプリ)側に画像データを送る方法を教えてください。
下記のソースのように文字列は送れるけど、画像ってどういう考えで送れば良いのか思い当たらないです
バイナリで送って-->クライアント側で変換する?とか
もっと簡単な方法とかあるの?
```java
//サーバ側   
public class Hello extends HttpServlet{  
       response.setContentType("image/jpeg; charset=UTF-8");
   public void doGet ( HttpServletRequest request, HttpServletResponse response )
   throws ServletException, IOException {
       response.setContentType("image/jpeg; charset=UTF-8");
       PrintWriter out = response.getWriter();
       out.println("Hello Servle!");  //文字列は送れる
       out.println(**.jpeg); //<--------このような感じ?
       out.println("Hello Servlet!");  //文字列は送れる
       out.println(**.jpeg); //<--------このような感じ?
   }
}
```
  • Java

    18621 questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

  • Android

    8342 questions

    Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

  • サーブレット

    177 questions

    サーブレット(Servlets)とはウェブやアプリケーションサーバー上に動くプログラムのことであり、ウェブブラウザや他のHTTPクライエントとデータベースやHTTPサーバー上のアプリケーションの中間層としての働きをします。

  • Android Studio

    5086 questions

    Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る