Пользователь НЕ должен иметь возможность доступа к файлам напрямую по ссылке. .
API должен отвечать за извлечение и передачу файла аутентифицированному пользователю.
Что я уже пробовал: Strong>
Загрузка моего файла (см. код ниже) работает с локальной сетью и файлами после развертывания в IIS
Код: Выделить всё
Route("api/[controller]/[Action]")]
[HttpPost]
public async Task UploadFile(IFormFile file)
{
var filePaths = new List();
if (file.Length > 0)
{
var currentDirectory = Environment.CurrentDirectory;
var filePath = "\\FileServer\\Files\\" + "FILE_" + file.FileName;
filePaths.Add(filePath);
using (var stream = new FileStream(filePath, FileMode.Create))
{
await file.CopyToAsync(stream);
}
}
return Ok(new { count = "na", filePaths });
}
Код: Выделить всё
[Route("api/[controller]/[Action]")]
[HttpGet("filename")]
public async Task ReturnStreamAsync1(string fileName)
{
String rootSERVER = "\\FileServer\\File";
IFileProvider provider = new PhysicalFileProvider(rootSERVER);
IFileInfo fileInfo = provider.GetFileInfo(fileName);
var readStream = fileInfo.CreateReadStream();
return File(readStream, "audio/mp3", fileName);
}
Подробнее здесь: https://stackoverflow.com/questions/785 ... ork-folder