[英]ImageResizer is not resizing images served by WebAPI
我试图让ImageResizer调整WebAPI服务的图像大小。 我在文档中安装了ImageResizer。 /resizer.debug.ashx没有显示任何问题。 当我尝试调整静态图像的大小时,它工作正常。
我尝试使用这些参数调整大小:
/api/files/image/image.jpg?width=100
/api/files/image/image.jpg?width=100&process=always
/api/files/image/image.jpg?width=100&format=jpg
我的WebAPI操作如下所示:
[HttpGet]
public HttpResponseMessage Image(string name)
{
var filePath = GetFilePath();
var response = new HttpResponseMessage(HttpStatusCode.OK);
response.Content = new StreamContent(new FileStream(filePath, FileMode.Open, FileAccess.Read));
response.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("inline");
response.Content.Headers.ContentDisposition.FileName = fileData.OriginalFileName;
response.Content.Headers.ContentLength = fileData.ContentLength;
response.Content.Headers.ContentType = new MediaTypeHeaderValue(fileData.MediaType);
return response;
}
有没有办法将ImageResizer与WebAPI一起使用?
WebAPI,MVC和HTTPHandler都有一个共同点 - 可怕的文件服务性能。 根据设计,应用程序框架不适用于大文件处理。
此外,由于ASP.NET和IIS管道限制,在ExecuteRequest阶段由HttpHandler / MVC / WebAPI生成文件时,无法有效地缓存和提供图像。
有关更多信息,请阅读ImageResizer最佳实践指南 。
如果需要提供源映像,可以实现IVirtualImageProvider或使用其中一个提供的插件来访问您选择的数据存储。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.