2009-09-28 5 views
2

Я создаю специальный файловый менеджер asp.net. всю информацию о файлах, сохраненную в таблице SQL Server. Мой стол здесьКак создать имя файла загрузки?

Table tFile(
FileID uniqueidentifier, 
FileName nvarchar(50), 
Extension nvarchar(50)) 

Процесс загрузки: Сначала я вставляю строку таблицы, а затем загружаю файл на сервер. Затем файл переименован в FileID (значение GUID). Например: 4a6327c4-0596-4949-a5f2-a639e934d534.JPG

вставленные строки таблицы, как это

4a6327c4-0596-4949-a5f2-a639e934d534 | image1 | JPG

И файл на сервере, как этот

www.domain.com/aa/Files/4a6327c4-0596-4949-a5f2-a639e934d534.JPG

Мои проблема в том, когда я загрузил текущий файл, загрузился файл с именем. Мне нужно image1.JPG

Когда пользователь загрузки текущего файла, как генерировать имя текущего файла в нормальное имя файла, как «image1.jpg»

ответ

9

есть страница download.aspx, которая принимает GUID изображений в виде строки запроса параметр. После этого вы можете поиск этого значения в базе данных, чтобы получить путь к файлу и отправить его в браузер, как это:

Response.AddHeader("Content-Disposition", "attachment;filename=image1.jpg"); 
Response.ContentType = "image/jpeg"; 
Response.WriteFile(pathToFileOnYourServer); 

Вы можете динамически построить имя_файла = image1.jpg части, чтобы вызвать что-нибудь понравившиеся вам изображение ,

+0

Большое спасибо – ebattulga

+1

Одно небольшое предостережение: если имя файла когда-либо содержит пробелы, оно должно быть в двойных кавычках, иначе Firefox (3.6 на момент написания) не сможет правильно разобрать его - 'attachment; filename =" Это мой Image1.jpg «' (Не забудьте сбежать «в» в строки C#). Не уверен, что кодировка URL - это еще один вариант. –

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