0

我创建了一个非常简单的模块,用于显示媒体库中特定文件夹中的图像。当我登录到我的 Orchard 站点时,它工作得很好,但图像不会显示给匿名用户。这是我的模块代码的简化版本:

public ActionResult Image(int id, int? width, int? height) {
        var items = _mediaLibraryService
                                       .GetMediaContentItems("Portfolio", 0, Int32.MaxValue, null, null);
        var mediaItem = items.Where(i => i.Id == id).SingleOrDefault();

        if (mediaItem == null) {
            return null;
        }

        string imageFileName = Server.MapPath(mediaItem.MediaUrl);
        string contentType = "image/" + Path.GetExtension(imageFileName).Substring(1);

        // code to resize image based on given parameters ...

        return File(imageFileName, contentType);
}

该操作接受 MediaPart id 和尺寸,按 id 查找项目,调整图像大小,并将其作为 FileResult 返回。这在登录时工作正常,但匿名用户一无所获。在 Chrome 中查看网络选项卡,它显示响应长度为 0。

当然,我在本地测试时不会出现这种行为,仅在我的实时站点上。有任何想法吗?

4

0 回答 0