如果我点击它,它显示完整的地址。问题是路径是共享的,任何人都可以破解这条道路。有没有办法不显示整个路径,只在浏览器中显示abc.jpg。
答案 0 :(得分:1)
您可以使用以下方法
将图像存储在数据库中,然后使用 HttpHandler 检索并显示它们。
作为额外的预防措施,您可以将当前DateTime作为加密的url参数传递,以验证它是否是在特定时间段(例如10分钟)内的新请求。您可以参考本文以获取HttpModule实现的参考
display-images-from-database-in-gridview-in-aspnet-using-handler-ashx-file-in-csharp-vbnet
作为另一种方法,您可以实施临时网址的概念,如此处所述Generating Temporary Download URLs
答案 1 :(得分:0)
没有。必须显示完整路径,以便浏览器可以检索文件。
您可以实现一个自定义HTTP处理程序或asp.net页面,该页面在查询字符串中获取文件的名称并返回文件的内容,甚至可能使用唯一的ID(数字,guid等,... )映射到每个文件以阻止人们猜测"其他有效的文件名可能是什么。所以,你有:
> table(a,b)
b
a 0 1
0 3 1
1 3 3
而不是
http://ipaddress/RetrieveUploadFile.aspx?fileid=36281
答案 2 :(得分:0)