【发布时间】:2021-08-31 11:27:11
【问题描述】:
我正在尝试让页面使用@Url.Page 从数据库加载图像。我可以看到它命中了 PageModel 处理程序方法,但图像永远不可见。
我发现的所有内容都与使用 MVC 的 Razor 视图有关。我专门使用 Razor 页面,没有控制器,只有页面模型。
页面:
<div class="row" style="@(Model.ImageFileId.HasValue ? "" : "display: none;")">
<div class="form-group col-1">
<label>Existing Image: </label>
</div>
<div class="col-11">
<img src="@Url.Page("Edit", "FilePreview", new { imageFileId = Model.ImageFileId })" />
</div>
</div>
页面处理方法:
public async Task<IActionResult> OnGetFilePreview(int imageFileId)
{
// Get Image File from database
File imageFile = await _fileService.GetFileById(imageFileId);
return File(imageFile.FileContent, imageFile.MimeType, imageFile.FileName);
}
【问题讨论】:
-
您应该首先查看页面源代码,看看是否生成了正确的 src 值。
-
@Mike Brind 我检查了 src 值,我认为这是我所期望的。这是
<img src="/admin/stories/edit/filepreview?imageFileId=49676"> -
对该 URL 的请求返回什么?
-
你检查过
Model.ImageFileId是否真的有一个字节[]图像的值?