2016-08-29 3 views
0

Создано веб-приложение ASP.NET, которое получает файл с использованием управления загрузкой файлов, а затем шифрует имя файла при загрузке.Как зашифровать имя файла при загрузке и расшифровке при загрузке?

Но когда я перенаправляю пользователя в file_address (чтобы этот пользователь мог скачать файл), я не знаю, как я могу расшифровать имя файла сейчас? потому что файл (например, файл .docx) не имеет кода.

Поэтому, когда пользователь загружает файл, он/она получает файл с зашифрованным именем!

Все файлы на сервере есть зашифрованное имя, а не их первоначальное название и что я хочу знать, как дать файлы их оригинальное имя, когда пользователи скачивают файлы

+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?

+0

Ждите, переименовывает ли файл на сервере таким образом или просто загружает файл с расшифрованным именем? –

+0

Он мог бы это сделать, но он по сути не переименовал бы файл на сервере таким образом - вам придется добавить это как еще один шаг. Это будет похоже на File (@ "c: \ encryptedfiles \ abcdxyz"). SendToClientAs («TheFileYouSaved.xlsx»); –

Смежные вопросы