gpt4 book ai didi

ASP.Net Core静态文件安全(特别是图像)

转载 作者:行者123 更新时间:2023-12-02 00:23:12 24 4
gpt4 key购买 nike

我遇到的问题似乎是一个非常常见的要求,但我无法找到任何帮助。假设我有一个经过身份验证的用户将私有(private)照片上传到我的服务器上的不可浏览文件夹。每个用户在大型文件存储中都有自己的文件夹,例如...

/FileStore/{UserId}/Photos/my_cute_cat.jpg

文件已上传,我保存了照片的缩略图,例如...

/FileStore/{UserId}/Photos/Thumbs/my_cute_cat_thumb.jpg

该用户想要下载他们的照片。没问题...

  • 用户发送下载请求
  • 我授权用户并确保他们拥有该特定照片
  • 我提供文件

我需要在用户仪表板上的普通旧 img 标签中显示缩略图。/Thumbs/文件夹未设置为提供静态图像。我不希望/thumbs/文件夹能够提供静态图像,因为它们应该只对授权用户可见。我该怎么办?

最佳答案

如果它只是一个小缩略图,请考虑使用嵌入式 base64 图像,并在此处提供更多详细信息: How to display Base64 images in HTML?

您可以通过将文件编码为 Base 64 格式作为字符串将 base64 向下传递到 View ,如下所述: http://www.devcurry.com/2009/01/convert-string-to-base64-and-base64-to.html

使用这种方法甚至使用 FileActionResult 通过 Controller 提供文件有一个很大的缺点,即无法使用 CDN 来传送缓存的内容。您可以做的就是仍然静态地提供图像,但给它们提供令人难以理解的长随机名称。当有人向您请求图像时,您只需向他们提供不可猜测的网址即可。

关于ASP.Net Core静态文件安全(特别是图像),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48575411/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com