System.UnauthorizedAccessException: 访问路径 '...' 被拒绝
System.UnauthorizedAccessException: Access to the path '...' is denied
所以,我对 .NET Core 有点陌生,我在将 IFormFile 复制到项目中的文件夹时遇到了问题。我一直在尝试查看有关它的其他问题,但 none 的答案对我有所帮助。那是我的代码:
public async Task<string> AddImage(IFormFile image, int id)
{
if (image.Length > 0)
{
var filePath = Path.Combine("images", ("apartamento" + id.ToString()), image.FileName);
if (!Directory.Exists(filePath))
{
Directory.CreateDirectory(filePath);
}
using (var fileStream = new FileStream(filePath, FileMode.Create))
{
await image.CopyToAsync(fileStream);
}
return filePath;
}
}
问题是我似乎没有权限(努力查看是否所有内容都已获得授权)或者我的代码有问题。
我只想做一件简单的事情:在我的 API 中接收一张图片并保存,以便以后在我的项目中使用。我以前做过,但我在使用 .NET 核心时遇到了一些问题。
如果有人有其他想法,我将不胜感激。我正在考虑将图像保存为我的数据库中的 Base64,但我不确定哪个是最佳选择。或者最简单的。
试试这个
public async Task<string> AddImage(IFormFile image, int id)
{
if (image.Length > 0)
{
var dir = Path.Combine("images", ("apartamento" + id.ToString()));
var filePath = Path.Combine(dir, image.FileName);
if (!Directory.Exists(dir))
{
Directory.CreateDirectory(dir);
}
using (var fileStream = new FileStream(filePath, FileMode.Create))
{
await image.CopyToAsync(fileStream);
}
return filePath;
}
}
所以,我对 .NET Core 有点陌生,我在将 IFormFile 复制到项目中的文件夹时遇到了问题。我一直在尝试查看有关它的其他问题,但 none 的答案对我有所帮助。那是我的代码:
public async Task<string> AddImage(IFormFile image, int id)
{
if (image.Length > 0)
{
var filePath = Path.Combine("images", ("apartamento" + id.ToString()), image.FileName);
if (!Directory.Exists(filePath))
{
Directory.CreateDirectory(filePath);
}
using (var fileStream = new FileStream(filePath, FileMode.Create))
{
await image.CopyToAsync(fileStream);
}
return filePath;
}
}
问题是我似乎没有权限(努力查看是否所有内容都已获得授权)或者我的代码有问题。
我只想做一件简单的事情:在我的 API 中接收一张图片并保存,以便以后在我的项目中使用。我以前做过,但我在使用 .NET 核心时遇到了一些问题。
如果有人有其他想法,我将不胜感激。我正在考虑将图像保存为我的数据库中的 Base64,但我不确定哪个是最佳选择。或者最简单的。
试试这个
public async Task<string> AddImage(IFormFile image, int id)
{
if (image.Length > 0)
{
var dir = Path.Combine("images", ("apartamento" + id.ToString()));
var filePath = Path.Combine(dir, image.FileName);
if (!Directory.Exists(dir))
{
Directory.CreateDirectory(dir);
}
using (var fileStream = new FileStream(filePath, FileMode.Create))
{
await image.CopyToAsync(fileStream);
}
return filePath;
}
}