ASPx Upload Control не сохраняет файл в правильном месте - PullRequest
0 голосов
/ 08 июня 2011

У меня есть элемент управления загрузкой, сохраняющий файл на подключенном сетевом диске на веб-сервере. Даже если я жестко закодирую путь, он все равно сохраняет файл в корневом каталоге подключенного сетевого диска.

Вот мой код для загрузки ...

protected void ASPxUploadControl1_FileUploadComplete(object sender, DevExpress.Web.ASPxUploadControl.FileUploadCompleteEventArgs e)
    {
        if (e.IsValid)
        {  
            string uploadDirectory = "//DOCSD9F1/TECHDOCS/";

            string fileName = e.UploadedFile.FileName;

            string path = "T:/Manuals/";

            e.UploadedFile.SaveAs(path + fileName);
            e.CallbackData = fileName;
        }
    }

На веб-сервере подключенный сетевой диск используется в качестве индекса для размещения некоторых документов, а путь в IIS - // DOCSD9F1 / TECHDOCS / ..., но в проводнике Windows это T: / .. У меня есть попытался жестко запрограммировать каждый из них в путь, но файл все равно сохраняется в корневой каталог T: /, а не в подкаталог, который я ему даю.

Папки не только для чтения, как я и предполагал, поэтому я застрял отсюда

Ответы [ 2 ]

1 голос
/ 08 июня 2011

Пробовали ли вы использовать обратную косую черту вместо косой черты:

string uploadDirectory = @"\\DOCSD9F1\TECHDOCS";
...
e.UploadedFile.SaveAs(Path.Combine(uploadDirectory, fileName));

Для локальных путей используйте обратную косую черту. Для URL используйте косую черту.

Также обратите внимание, что ваше веб-приложение обычно запускается под системной учетной записью, где подключенные сетевые диски, такие как «T: \», недоступны (они доступны для вошедшего в систему пользователя).

0 голосов
/ 08 июня 2011

Используйте обратную косую черту, как в "\\ DOCSD9F1 \ TECHDOCS".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...