Добрый день.
Я просто возвращаюсь в 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: ");
}