Bra*_*rpy 2 c# asp.net-mvc asp.net-core
我有以下代码(我仍在开发它)成功将文件上传到所需路径。
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);
}
}
}
Run Code Online (Sandbox Code Playgroud)
我遇到了一些问题,文件试图以相同的名称上传(显然出现错误),但文件不同。所以我想检查文件是否存在,如果它确实更改了文件名,可能会在末尾附加一个“_#”,然后以新名称再次上传文件。问题是 IFormFile.FileName 只是对于 get,我无法设置文件名。
在线查看我看到人们建议将文件复制到新名称的地方,但由于无法上传文件,我不能这样做。任何帮助表示赞赏!
您可以使用Path.Combine(filePath, Guid.NewGuid() )代替Path.Combine(filePath, image.FileName)来保证文件名是唯一的。
| 归档时间: |
|
| 查看次数: |
5366 次 |
| 最近记录: |