Fil*_* DO 4 javascript c# image asp.net-web-api
我正在使用客户端已经加载的文档中的JavaScript向服务器"WebApi"发出请求.
当服务器收到请求时,它会动态构建一个位图并将其作为.png返回给客户端.
当我在客户端读取响应时,我从.ajax请求的数据部分返回的是一个空字符串.
如何使用WebApi从服务器读取和请求图像,然后使用从服务器接收的新图像在客户端设置图像的src属性?
--WebApi
public HttpResponseMessage Get(int id)
    {
        ElevationResponse elev = ElevationHelper.GetElevation(id);
        Bitmap canvas = ShopDrawing.Elevation.Elevation.GetShopDrawing(elev, true);
        var ms = new MemoryStream();
        canvas.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
        HttpResponseMessage r = Request.CreateResponse();
        r.Content = new StreamContent(ms);
        r.Content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("image/png");
        return r;
    }
- 客户
  $.ajax(
         {
             async: true,
             url: '/api/drawings?id=' + this.id,
             type: 'GET',
             contentType: "application/json",
             success: function (d, status) {
                 debugger
             }
         });
只需指定'/api/drawings?id=' + this.id为图像src属性即可.
在服务器端,您应该重置内存流,canvas.Save()以便从头开始发送.另外,指定http Content-Length标头,以便浏览器在下载时知道总大小:
ms.Position = 0;
r.Content.Headers.ContentLength = ms.Length;
如果这不起作用,请直接在浏览器中输入URL并启用开发人员工具以查看网络流量.
| 归档时间: | 
 | 
| 查看次数: | 3704 次 | 
| 最近记录: |