2016-09-23 5 views
-1

Я разрабатываю одно приложение и хостинг MVC4 на веб-сервере IIS.Как создать папку в mvc4

Я хочу загрузить и сохранить несколько файлов в папке UploadedFile внутри F. я написал ниже фрагмент кода, чтобы создать папку, однако он не работает

if (!System.IO.Directory.Exists(Server.MapPath("~/F:/UploadedFile"))) 
{ 
    System.IO.Directory.CreateDirectory(Server.MapPath("~/F:/UploadedFile")); 
} 

Когда я хостинг IIS я буду держать все опубликованные файлы внутри inetpub (файлы, такие как DLL (бен), CSS, JS и т.д.) , Но я планирую сохранить файлы PDF, загруженные пользователем в F drive.

Полезно ли хранить файлы за пределами c? может кто-то дать некоторые предложения, пожалуйста.

+0

Резервное копирование файлов в rpob отсутствует. Просто создайте виртуальный каталог и нанесите его на сайт – Imad

+0

. Я нашел это и обработал строку folderName = @ "F: \ UploadedFile"; if (! System.IO.Directory.Exists (folderName)) { System.IO.Directory.CreateDirectory (folderName); } –

+0

Однако эта строка кода не работает string folderName = @ "F: \ UploadedFile"; byte [] bytes = System.IO.File.ReadAllBytes (folderName + filename); –

ответ

0

Нет ничего плохого в том, чтобы хранить файлы вне веб-папки, если вы заботитесь о настройке безопасности и ACL. Этот материал не является тривиальным, и вы можете решить проблемы безопасности, если не настроите его правильно.

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

В этой строке:

System.IO.File.ReadAllBytes(folderName + filename); 

FOLDERNAME + имя файла будет возвращать @"F:\UploadedFile<filename>". Например: @"F:\UploadedFilefile1.docx", поэтому вы получите сообщение об ошибке, так как это неверный путь.

Во избежание подобных ошибок вы должны использовать Path.Combine.

using System.IO; 

//this will return @"F:\UploadedFile\file1.docx" 
var fullFileName = Path.Combine(folderName, fileName); 
var bytes= System.IO.File.ReadAllBytes(fullFileName); 

//do something with your file. 

Надеюсь, это поможет!

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