如何在上传时加密文件名并在下载时解密?

时间:2016-08-29 06:32:54

标签: c# asp.net encryption

制作一个ASP.NET Web应用程序,它使用文件上传控件接收文件,然后在上传时加密文件名。

但是当我将用户重定向到file_address(所以这个用户可以下载文件)时,我不知道如何解密文件名呢?因为文件(例如.docx文件)后面没有代码。

因此,当用户下载文件时,他/她会收到带有加密名称的文件!

服务器中的所有文件都有加密名称而不是原始名称。我想知道的是当用户下载文件时如何为文件提供原始名称

1 个答案:

答案 0 :(得分:2)

您无法为用户提供指向该文件的直接链接 - 而是首先解密文件的页面,然后编写相应的响应标头并将解密的文件作为响应发送。

getFile.aspx?encryptedFileName=abcxyz。在Init中,getfile.aspx加载加密文件,对其进行解密,然后为文件写入适当的响应标头,将MIME类型更改为文件所需的任何内容,并发送解密文件而不是网页。

以下是如何使用ZIP文件执行此操作的示例。如果您在查看此内容后需要更多帮助,请与我们联系。 How do I generate and send a .zip file to a user in C# ASP.NET?