You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET Core 6 MVC中图片无法显示问题求助

问题排查与解决

1. 图片路径错误(核心问题)

你在控制器中设置的UploadUrl包含了/wwwroot/,但ASP.NET Core的静态文件服务默认将wwwroot作为根目录,前端访问静态资源时不需要带上wwwroot。当前存储的ImageUrl是/wwwroot/Uploads/Product/xxx.jpg,但实际前端应该请求的是/Uploads/Product/xxx.jpg,否则服务器会返回404。

修复方法:
修改控制器中的UploadUrl:

string? UploadUrl = "/Uploads/Product/";

2. 视图HTML语法错误

你的img标签里的style属性多了一个多余的引号:

<img src="@V.ImageUrl" style="width:100px; height:100px;&quot;&gt;

这里的&quot;是错误的,会导致HTML解析异常,影响图片渲染。

修复方法:
修正为正确的HTML:

<td> 
    <img src="@V.ImageUrl" style="width:100px; height:100px;">   
</td>

3. 文件流未正确释放(潜在问题)

控制器中使用FileStream时没有用using语句包裹,可能导致文件写入不完整或者文件被锁定,后续无法读取。

修复方法:
用using自动释放文件流:

using (FileStream fs = new FileStream(Path.Combine
        (
            Directory.GetCurrentDirectory(),
            "wwwroot",
           "Uploads", "Product", newFileName
        ), FileMode.Create))
{
    model.Image.CopyTo(fs);
}

额外排查步骤

  • 检查数据库中存储的ImageUrl是否正确,确认是去掉wwwroot后的路径。
  • 手动查看wwwroot/Uploads/Product目录下是否存在对应的图片文件,确保文件确实上传成功。
  • 打开浏览器开发者工具(F12),查看img标签的src属性,然后在新标签页打开该URL,确认是否返回图片或者404错误,以此验证路径是否正确。

内容的提问来源于stack exchange,提问作者b.g

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 08:40:32