2014-04-08 47 views
0

我目前正在更新旧网站以使用Hot Towel框架,并且当前网站所做的其中一件事是使用HTTPMessageResponse加载图像。这工作正常,在旧的设定,但在新设立不显示图像和去URL产生...图片HttpMessageResponse响应但不显示?

StatusCode: 200, ReasonPhrase: 'OK', Version: 1.1, Content: System.Net.Http.ByteArrayContent, Headers: { Content-Type: image/png } 

我看了一下这两个应用产生反应,从下面的函数匹配的响应(响应是与上述相同的和内容是完全匹配)...

namespace OPC.Controllers 
{ 
    public class ImageController : Controller 
    { 
     public HttpResponseMessage GetImage(int imageId) 
     { 
      var blob = new byte[10]; 
      var context = new OPCEntity(); 
      var ImageString = context.sp_GetImageData(imageId); 
      foreach (var Result in ImageString) 
      { 
       blob = Result.Data; 
      } 
      Image image; 
      var ms = new MemoryStream(); 
      ms.Write(blob, 0, blob.Length); 
      var result = new HttpResponseMessage(HttpStatusCode.OK); 
      result.Content = new ByteArrayContent(ms.ToArray()); 
      result.Content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("image/png"); 
      return result; 
     } 
    } 
} 

的图像在JS使用设置...

image.setAttribute('src', document.location.href.match(/(^[^#]*)/)[0] + '/Image/GetImage?imageId=' + imageDetails.imageId); 

有没有人对我可能错过的内容有任何想法,或者热毛巾框架中的任何内容可能会干扰。

很多预先感谢。

回答

0

嗯,我已经错过了......事实上,它应该是重要的......

public class ImageController : ApiController{} 

不过,我也发现,微风网络API配置不与正常的Web API配置这样的冲突目前我不得不将BreezeWebApiConfig.cs更改为以下版本

public static class BreezeWebApiConfig { 

    public static void RegisterBreezePreStart() { 
     GlobalConfiguration.Configuration.Routes.MapHttpRoute(
      name: "BreezeApi", 
      routeTemplate: "api/{controller}/{action}" 
    ); 
    } 

}