2015-10-03 3 views
0

Я работаю с приложением asp.net, мой пользователь должен создать файл csv, а затем сохранить его на локальном или сетевом диске. Мой подход к решению этой проблемы заключается в создании папки внутри моего проекта, где создается файл, и я использую обработчик HTTP для загрузки этого файла и сохранения его в другое место. Но я получаю проблемы, когда я перенаправляю HTTP-обработчик, я получил ошибку 404, вот мой код.Проблема с файловым контуром Asp.net

private String serverPath = "\\PerformanceAttributionWeb\\PerfAttribution\\ExportData\\"; 



var fileName = serverPath + txtFileName.Text; 
     if (!File.Exists(fileName)) 
     { 
      File.Create(fileName).Close(); 
     } 
Response.Redirect(string.Format("ExportData/CsvFileHandler.ashx?FileToDownload={0}", fileName)); 
public void ProcessRequest(HttpContext context) 
    { 
     var request = HttpContext.Current.Request; 
     var fileName = request.QueryString["FileToDownload"]; 
     HttpResponse response = HttpContext.Current.Response; 
     response.ClearContent(); 
     response.Clear(); 
     response.ContentType = "text/plain"; 
     response.AddHeader("Content-Disposition", 
          "attachment; filename=" + fileName + ";"); 
     response.TransmitFile(fileName); 
     response.Flush(); 
     response.End(); 
    } 
+0

Отсутствие необходимости в обработчике. Вы можете отправить файл напрямую. Нет необходимости в перенаправлении. – usr

ответ

0

Вы можете создать виртуальный каталог в IIS, указывая на папку экспорта. Затем использовал URL-адрес http для доступа к файлу. Убедитесь, что папка доступна всем.

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