2017-08-19 6 views
0

私のjsonデータをサーバー(nodejs)からクライアント側(angularjs)への応答として送信します。私は画像をjsonとして送信するのと同じような答えを見ましたが、セッションクッキーとしてデータを送信しましたが、十分満足できるものではありませんでした。 画像を送信する最善の方法は何ですか? jpgまたはpng形式の画像、または絶対パスを送信してクライアントがそれをダウンロードするとしますか?画像としての応答とその詳細nodejs

第二に、私はどういうわけか、私の応答で画像を埋め込み、1つの画像しかないと仮定して送信することができますか、質問したいと思います。

答えて

1

残念ながら私はnodejsの構文はありませんが、コンセプトは同じであると信じています。ここ は、私が何をすべきかです:

は、関数GETは、例えば、「画像/ *」 を生成することが可能であることを定義します。その後、

@GET 
@Produces("image/*") 
public Response getImage() { 
    String image = "scroll0015.jpg"; 
    File f = new File(image); 
    if (!f.exists()) { 
     throw new WebApplicationException(404); 
    } 
    String mt = new MimetypesFileTypeMap().getContentType(f); 
    return Response.ok(f, mt).build(); 
} 

そして、あなたはレスポンスヘッダにあなたが言うの応答を構築している間、送信するファイルの内容

1)あなたのユーザー/クライアントが共有場所にアクセスできる場合は、新しいURLを指すことをお勧めします。 たとえばamazon S3を使用します。

2)画像が頻繁に変更されますか?ユーザーにキャッシュさせます。

3)サーバーが画像をうまく送信できない場合は、クラウドサービスを使用してください。

+0

あなたはjsonデータと一緒にレスポンスで画像全体を送信できると言っていますか? – Asim

+0

はい私がJavaに入れたコード - Jersey RESTはそうです – Geek

0

NodeJSアプリケーションでbase64でイメージを変換し、クライアント(AngularJS)にbase64応答を送信します。 詳細については、このリンクを参照してください。 https://www.npmjs.com/package/base64-img

+0

ドキュメントでは、角度で表示する方法については何も言及していません。 – Asim

+0

応答をimgタグの中に入れます。 –

関連する問題