Доступ к пути к каталогу файлов с помощью Streamreader на локальном компьютере - PullRequest
0 голосов
/ 18 февраля 2020

Я должен сохранить файл по запросу. Get Запрос содержит имя файла и URL к файлу для контента, у меня есть WebApi, работающий на сервере, я хочу задать URL файла с локального компьютера, а не с сервера, но WebApi запустить на сервере, поэтому, если я выбрал путь к каталогу, то он будет указывать путь к серверу. Как я могу установить, что он берет путь к каталогу с локального компьютера, на котором я запускаю URL?

Мой код:

     [HttpGet("SetConfiguration")]
     public IActionResult SetConfiguration(string fileName, string url)
     {

        if (System.IO.File.Exists(@"D:/" + fileName + @".json"))
         {
             Logger._logger.Debug("File " + fileName + " already exists");
             return BadRequest("File " + fileName + " already exists");
         }
         else
         {
             string content = "";
             using (StreamReader sr = new StreamReader(url))
             {
                 try
                 {
                     content = sr.ReadToEnd();
                 }
                 catch
                 {
                     Logger._logger.Debug("File is not a valid json ");
                     return BadRequest("File is not a valid json ");
                 }
             }
             using (StreamWriter fileStream = new StreamWriter(@"D:/" + fileName + @".json", false))
             {
                 try
                 {
                     fileStream.WriteLine(content);

                 }
                 catch
                 {
                     Logger._logger.Debug("content is not a valid json ");
                     return BadRequest("content is not a valid json ");
                 }
             }
             return Ok("file " + fileName + " saved");
         }
     }

1 Ответ

0 голосов
/ 18 февраля 2020

Если я правильно понимаю, вы хотите сохранить файл на сервере с клиента?

Что вам нужно сделать, это отправить файл с клиента на сервер (например, если это изображение вы можете отправить его в base64 в POST) или использовать / создать компонент загрузчика для загрузки файла на ваш сервер (например, с помощью блока данных).

Если ваш клиент написан на javascript, Здесь хороший плагин для загрузки файлов.

...