gpt4 book ai didi

c# - 使用 IFormFile 上传时如何更改文件名

转载 作者:太空宇宙 更新时间:2023-11-03 22:58:58 25 4
gpt4 key购买 nike

我有以下代码(我仍在开发它)成功地将文件上传到所需的路径。

   private async Task AddImage(IFormFile image, string filePath)
{
List<string> PermittedFileTypes = new List<string> {
"image/jpeg",
"image/png",
};


if (PermittedFileTypes.Contains(image.ContentType)) {

// HERE I WILL CHECK NAME AND CHANGE IF IT ALREADY EXSISTS

using (var stream = new FileStream(Path.Combine(filePath, image.FileName), FileMode.Create))
{
await image.CopyToAsync(stream);
}
}
}

我遇到了一些问题,文件试图以相同的名称(显然出现错误)上传,但文件不同。所以我想检查文件是否存在,如果它确实更改了文件名,可能会在末尾附加一个“_#),然后以新名称再次上传文件。问题是 IFormFile.FileName 只是对于 get,我无法设置文件名。

我在网上看到人们建议将文件复制到一个新名称,但由于无法上传文件,我不能这样做。感谢您的帮助!

最佳答案

您可以使用 Path.Combine(filePath, Guid.NewGuid() ) 而不是 Path.Combine(filePath, image.FileName) 来保证文件名是独一无二。

关于c# - 使用 IFormFile 上传时如何更改文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44035824/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com