0

所以,我对 .NET 核心有点陌生,我在将 IFormFile 复制到我的项目中的文件夹时遇到了问题。我一直在尝试查看有关它的其他问题,但没有一个答案对我有帮助。那是我的代码:

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 保存在我的数据库中,但我不确定哪个是最佳选择。或者最简单的。

4

1 回答 1

2

尝试这个

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;
    }
} 
于 2020-02-12T19:15:07.767 回答