繁体   English   中英

ImageResizer未调整WebAPI提供的图像大小

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM