JQuery Img Attr запрос получить заголовки, отправленные сервером - PullRequest
2 голосов
/ 09 августа 2011

Что я хочу сделать, это использовать jQuery для запроса изображения (в данном случае графика).В jQuery я устанавливаю атрибут src на моем изображении, который ведет график с сервера, как и ожидалось.

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

Я хочу иметь возможность отправить некоторую информацию заголовка с этим запросом и получитьjQuery читать.

Как я могу это сделать.Мой друг порекомендовал загрузить изображение, используя ajax, в BLOB, а затем записать BLOB в тег image ... не уверен, как это можно сделать.

Ответы [ 2 ]

2 голосов
/ 09 августа 2011

Я не знаю о прочтении ответа на загрузку изображения, но вытащить заголовки ответа просто.

jQuery.ajax({
  url: '/img/foo.gif',
  complete: function (jqXHR, textStatus) {
    var h = jqXHR.getResponseHeader('Content-Type');
    alert(h);
  }
});
2 голосов
/ 09 августа 2011

Попробуйте это для браузеров без 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;
  }
}
...