Сохранение загруженного файла в сетевое хранилище (с учетными данными) asp. net core 2.2 - PullRequest
0 голосов
/ 04 августа 2020

Добрый день.

Я просто возвращаюсь в asp. net и пытаюсь работать с CORE. У меня есть API, который принимает загруженный файл и сохраняет его в локальном месте на веб-сервере (работает должным образом). Теперь мне было приказано сделать так, чтобы api сохранял этот файл в расположение UN C (ie: \ 172.16.28.12 \ incoming \ files). учетная запись службы была создана, чтобы разрешить доступ API к файловому серверу, но я изо всех сил пытаюсь понять, как записать в сетевое расположение вместе с учетными данными. Я сделал несколько поисков, но, похоже, не нашел ответа. Любая помощь приветствуется.

Это мой текущий код:

    public class DocumentUploadController: ControllerBase
{
    private readonly IHostingEnvironment host;
    public DocumentUploadController(IHostingEnvironment env)
    {
        host = env;
    }

    [HttpPost]
    [Route("upload")]
    public IActionResult Upload([FromForm(Name = "file")] IFormFile file)
    {
        string filepath;
        var controlId = Request.Headers["Control-Id"];
        var uniqueFileName =  GetUniqueFileName(file.FileName, controlId);
        var uploads = Path.Combine(host.WebRootPath, $"Resources/FileUploads/{controlId}_file");
        FileStream fs;           

        // Create new directory if its does not exist
        try
        {
            if (Directory.Exists(uploads))
            {
                filepath = Path.Combine(uploads, uniqueFileName);
                fs = new FileStream(filepath, FileMode.Create);
                file.CopyTo(fs);
                fs.Close();

            }
            else
            {
                DirectoryInfo di = Directory.CreateDirectory(uploads);
                filepath = Path.Combine(uploads, uniqueFileName);
                fs = new FileStream(filepath, FileMode.Create);
                file.CopyTo(fs);
                fs.Close();
            }
        }
        catch (Exception e)
        {
            throw new Exception($"{e}");
        }

        

        //var uploads = Path.Combine(host.WebRootPath, "Resources/FileUploads");
        
        return Ok("Working: ");
    }
...