我似乎无法找到与我的特定场景相关的内容 - 我知道如何在正常情况下显示图像。然而,由于我正在使用的系统的性质,很多数据本质上是敏感的(包括图像),所以我对存储中的文件进行了匿名化(剥离要存储在数据库中的文件名和扩展名并映射到下载文件)。
由于文件是匿名的 - 在 img 标签处抛出存储路径会导致通用图标(可能是由于缺少文件扩展名)。有没有办法屏蔽存储路径上的映射以使其工作,或者我是否需要设置某种形式的网络服务来将图像作为内联响应提供?
在启动时,您可以添加它以使其工作:
app.UseStaticFiles(new StaticFileOptions
{
DefaultContentType = "image/gif"
});
我认为这会尝试使所有没有扩展名的文件成为图像?
好消息是您可以使用 FileProvider 将其锁定到某个文件夹:
app.UseStaticFiles(new StaticFileOptions
{
DefaultContentType = "image/gif",
FileProvider = new
PhysicalFileProvider(Path.Combine(Directory.GetCurrentDirectory(),
"wwwroot/images"))
});
此示例将仅允许将 wwwroot/images 中没有扩展名的文件作为类型图像读取。
如果你不想这样做,你可以做这些事情:
你可以使用这样的东西:
<img src="data:image/gif;base64,@Convert.ToBase64String(File.ReadAllBytes("wwwroot/images/contact"))">
不过,这可能存在一些问题(在评论中)。
还有这个解决方案,但我相信上面的一个更好。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句