4

RESTful API (Rails で作成) でリソースへのファイル アップロードを提供しています。対応するGET /resource/123/attachmentMIME タイプのファイルがブラウザに送信されると、. (何でもかまいません..画像、PDF、テキストファイルなど)

興味がある場合は、次のようにします。

send_file(contract.attachment.path, :filename => contract.attachment.original_filename)    

Authorizationただし、アップロードされたファイルはユーザーベースで機密であるため、 HTTP ヘッダーにトークンを設定する必要があります。

jQuery.getそこで、HTTPヘッダーを設定できるように使用することを考えました。しかし、サーバーからの応答をどのように処理すればよいでしょうか? 通常のリンクをクリックしたように動作するはずです (リクエストする前に HTTP ヘッダーが設定されている場合のみ)。

4

1 に答える 1

0

サーバー出力を制御でき、画像が大きすぎない場合は、画像を base64 して次のようにすることができます。

$.ajax({ 
  url : '/resource/123/attachment', 
  processData : false,
}).done(function(data){
  $("#YOUR_IMG_ID").attr("src", "data:image/png;base64,"+data);
});

もう 1 つのオプションは、代替認証を記述して、<img src="/resource/123/attachment?auth=xxxxx"> のようにクエリ文字列に何かを入力できるようにすることです。たとえば、oAuth などを調べてリクエストに署名することができます。

于 2014-05-20T08:33:31.090 に答える