2012-05-03 3 views
2

У меня есть двоичные данные, связанные с файлом в БД. Это код, я использую, чтобы загрузить этот файл на нажав ссылку -загружать файл в определенное место с помощью Response.BinaryWrite и Server.Mappath?

//a is my attachment object 
var r = context.Response; 
r.AddHeader("Content-Disposition", "attachment; filename=" + a.FileName); 
r.Charset = ""; 
r.ContentType = a.MIME; 
r.BinaryWrite(a.Content.ToArray()); 

В настоящее время, этот файл будет загружен в папку Downloads. Есть ли способ создать новую папку в системе пользователей и загрузить этот файл? Я читал, что server.mappath можно использовать с r.WriteFile, но я не совсем уверен. Это можно сделать?

ответ

5

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

+0

И тоже хорошо. – Oded

+0

Я втрою, что ... Представьте, что произойдет, если сторонняя сторона получит доступ к вашей файловой системе! – Zachary

+0

Хм, имеет большой смысл. – neuDev33

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