【发布时间】:2018-12-08 04:06:13
【问题描述】:
现在我正在用 C# 从控制器返回图像
返回文件(字节,“图像/JPEG”);
它工作正常,但它实际上返回文件。同时,我想返回将在页面上显示的图像 但不使它们成为静态的(因此,如果用户提供其他人的 url,那么他必须登录才能能够访问它们)。
我设法找到的唯一方法是 Base64 编码,它工作正常,但当 img 大小增加时,它似乎对浏览器有点滞后。
也许这是某种将图像注入 .cshtml 但听起来像Base64
【问题讨论】:
-
网络服务器不是由魔法驱动的。您可以为较少的请求支付较高的初始负载(使用 base64 嵌入式图像),使用静态文件或从控制器动态返回它们。您应该尽可能使用静态文件,因为您可以使用 CDN 来提高加载速度(当静态文件位于不同域时,浏览器可以打开更多连接)并且静态文件域可以少 cookie,从而减少发送 cookie 的开销每个请求
-
@Tseng
Either you pay the higher initial load (with base64 embedded image) for lesser requests, use static files or return them dynamically from controller.base64,静态文件,第三个是什么? “动态返回”?通过javascript?反正。我的目标是仅向授权用户提供图像(我正在控制器中验证),所以我很好奇这是否可能 -
1. base 64, 2. 静态文件 3. 来自控制器的动态文件(通过从文件系统或数据库流式传输文件)
标签: c# html asp.net-core