我尝试使用IFormFile
上传多个文件..这是我的HTML
<input type="file" asp-for="lstAttachments" accept="application/pdf,application" multiple/>
其中lstAttachments
是IFormFile
public IEnumerable<IFormFile> lstAttachments { get; set; }
我将文件保存到某个文件夹,然后将文件夹路径保存到数据库表。 这工作得非常好。
var filePath = "" ;
Guid guid;
List<userattachmentsdetail> attachmentsToInsert = new List<userattachmentsdetail>();
userattachmentsdetail newAttachment;
foreach (var file in userDetail.lstAttachments)
{
guid = Guid.NewGuid();
filePath = hostingEnv.WebRootPath + $@"\uploadedFiles" + $@"\{guid}_{file.FileName}";
using (FileStream fs = System.IO.File.Create(filePath))
{
file.CopyTo(fs);
fs.Flush();
}
newAttachment = new userattachmentsdetail();
newAttachment.FileName = file.FileName;
newAttachment.FilePath = filePath;
attachmentsToInsert.Add(newAttachment);
}
在编辑模式下,我从该表中获取名称和路径并尝试加载文件
这是我从表
获取文件路径数据的查询Select FileName, FilePath from userattachmentsdetail uad
这里我将数据存储到列表
List<userattachmentsdetail> lstFiles = grid.Read<UserFiles>().ToList();
lstFiles
包含所有文件但现在我不知道如何将此数据转换/复制到IFormFile
集合(lstAttachments)。
修改文件内容可以是pdf,text或docx。
答案 0 :(得分:0)
你没有。
<强> IFormFile 强>
表示使用HttpRequest发送的文件。
它只能表示一个入站文件。
为了您的编辑&#39;功能,只需要覆盖您保存的文件(如果最终用户更改了该文件)。