ASP. NET MVC - сохранить файл в сетевом хранилище (NAS), расположенном в локальной сети - PullRequest
0 голосов
/ 07 января 2020

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

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

Как мне сделать это изменение?

Мой код:

//file Path's at WebConfig
<add key="TempUploadFolder" value="~\\naswebwin\web$\WEB_DESV\Apps-C\Farm-APL85\RDVE_RVEWEB" />
<add key="FinalUploadFolder" value="~\\naswebwin\web$\WEB_DESV\Apps-C\Farm-APL85\RDVE_RVEWEB\Apontamento" />


if (!string.IsNullOrWhiteSpace(model.FilePath))
     {
       //convert to list
       var fileList = model.FilePath.Split(';').Distinct().ToList();

       //for each file in the list, move from temporary folder to final folder
       model.FilePath = string.Join(";", fileList);

       string rootPath = Server.MapPath(System.Configuration.ConfigurationManager.AppSettings.Get("FinalUploadFolder"));
      _rootPathTempUpload = Server.MapPath(System.Configuration.ConfigurationManager.AppSettings.Get("TempUploadFolder"));

      var files = Directory.EnumerateFiles(_rootPathTempUpload, "*.*", SearchOption.AllDirectories)
       .Where(s => fileList.Any(file => s.Contains(file)))
       .ToList();

         files.ForEach(fileToMove =>
         {
             var fileName = System.IO.Path.GetFileName(fileToMove);
             System.IO.File.Move(fileToMove, System.IO.Path.Combine(rootPath, fileName));
          });

       }

1 Ответ

0 голосов
/ 07 января 2020

Просто удалите знак ~ из вашего пути загрузки, например

<add key="TempUploadFolder" value="\\naswebwin\web$\WEB_DESV\Apps-C\Farm- 
 APL85\RDVE_RVEWEB\" />
...