JQuery Img Attr请求获取服务器发送的标头

时间:2011-08-09 15:15:08

标签: jquery http-headers response

我想要做的是使用jQuery来请求图像(在这种情况下是图形)。 在jQuery中,我在我的图像上设置了src属性,它按照预期从服务器下拉图形。

$("#graphImage").attr("src", graphUrl);

我希望能够使用此请求发送一些Header信息并让jQuery读取它。

我该怎么做?我的一个朋友建议使用ajax将图像下载到blob然后将blob写入图像标记...不确定如何做到这一点。

2 个答案:

答案 0 :(得分:2)

尝试使用非IE浏览器<为了

$.ajax({
  url: graphUrl,//This will be a page which will return the base64 encoded string
  headers: {},//Pass the required header information
  success: function(response){
     $("#graphImage").attr("src", response);
  }
});

将图片转换为base64字符串的代码

public string ImageToBase64(Image image, 
  System.Drawing.Imaging.ImageFormat format)
{
  using (MemoryStream ms = new MemoryStream())
  {
    // Convert Image to byte[]
    image.Save(ms, format);
    byte[] imageBytes = ms.ToArray();

    // Convert byte[] to Base64 String
    string base64String = Convert.ToBase64String(imageBytes);
    return base64String;
  }
}

答案 1 :(得分:2)

我不知道如何读取加载图像的响应,但拉动响应标题是直截了当的。

jQuery.ajax({
  url: '/img/foo.gif',
  complete: function (jqXHR, textStatus) {
    var h = jqXHR.getResponseHeader('Content-Type');
    alert(h);
  }
});