2012-05-09 3 views
0

Я хочу изменить виртуальный путь (путь из проекта означает локальную систему или сервер.) Файла, который сохраняется в папке в asp.net.изменение виртуального пути

Кодекс

DataTable dtFiles = 
    GetFilesInDirectory(HttpContext.Current.Server.MapPath(UPLOADFOLDER)); 
gv.DataSource = dtFiles; 
gv.DataBind(); 

if (dtFiles != null && dtFiles.Rows.Count > 0) 
{ 
    double totalSize = Convert.ToDouble(dtFiles.Compute("SUM(Size)", "")); 
    if (totalSize > 0) lblTotalSize.Text = CalculateFileSize(totalSize); 
} 

private static string UPLOADFOLDER = "D:/Uploads"; 

И ошибка шоу "D:/Uploads не является правильным виртуальным путь.".

ответ

0

Конечно. Вы говорите своему серверу, чтобы отобразить путь, который полностью отключен от IIS. Как это должно быть? Если вы используете веб-приложение, старайтесь полностью избегать таких идей. Хотя это возможно, это не очень хорошая идея из-за проблем безопасности, с которыми вы можете столкнуться.

1

Если вы хотите получить файлы в каталоге, и вы знаете полный путь, то вам не нужно использовать Server.MapPath(). Просто используйте путь.

Кстати, в вашем коде неправильный разделитель пути. Строка "D:/Uploads" должна быть @"D:\Uploads" (обратите внимание на leading @ sign, чтобы обозначить строку, которая должна обрабатываться буквально и не сбрасываться).

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