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

发布于 2024-11-28 10:43:23 字数 261 浏览 2 评论 0原文

我想做的是使用 jQuery 请求图像(在本例中为图表)。 在 jQuery 中,我在图像上设置 src 属性,该属性按预期从服务器拉取图形。

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

我希望能够通过此请求发送一些标头信息并让 jQuery 读取它。

我该怎么办呢。我的一个朋友建议使用 ajax 将图像下载到 blob,然后将 blob 写入图像标签......不知道如何做到这一点。

What I want to do is use jQuery to request an image (a graph in this case).
In jQuery I'm setting the src attribute on my image which pulls down the graph from the server as expected.

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

I want to be able to send some Header information down with this request and have jQuery read it.

How can I do this. A friend of mine recommended downloading the image using ajax to a blob then writing the blob to the image tag...not sure how this can be done.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

酒与心事 2024-12-05 10:43:23

在非 IE 浏览器上尝试此操作 < 7. 对于

$.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;
  }
}

Try this for Non IE browsers < 7. For

$.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);
  }
});

Code to convert image to base64 string

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;
  }
}
伤感在游骋 2024-12-05 10:43:23

我不知道如何读取响应来加载图像,但提取响应标头是直接的。

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

I don't know about reading the response to load an image but pulling the response headers is straight forward.

jQuery.ajax({
  url: '/img/foo.gif',
  complete: function (jqXHR, textStatus) {
    var h = jqXHR.getResponseHeader('Content-Type');
    alert(h);
  }
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文