我在RESTful API(由Rails制作)中提供文件上传到资源。当GET /resource/123/attachment
将具有相应MIME类型的文件发送到浏览器时。 (可以是任何东西......图像,PDF,文本文件,无论如何)
如果有任何兴趣,可以这样做:
send_file(contract.attachment.path, :filename => contract.attachment.original_filename)
但由于上传的文件是基于用户和保密的,因此您需要使用令牌设置Authorization
HTTP标头。
所以我考虑使用jQuery.get
以便我可以设置HTTP标头。但是我如何处理来自服务器的响应?它应该像你点击一个普通链接一样(只是在请求之前设置了HTTP标头)
答案 0 :(得分:0)
如果您可以控制服务器输出并且图像不是太大,您可以对图像进行base64并执行以下操作:
$.ajax({
url : '/resource/123/attachment',
processData : false,
}).done(function(data){
$("#YOUR_IMG_ID").attr("src", "data:image/png;base64,"+data);
});
另一种选择是您可以使用备用身份验证进行编写,以允许您在查询字符串中添加一些内容,例如< img src =“/ resource / 123 / attachment?auth = xxxxx”>。例如,您可以查看oAuth或其他内容来签署请求。