我一直在为这个问题苦苦挣扎一段时间。我有一个创建项目的 Web 界面,通过这个界面,您应该能够将多个文档上传到服务器,该服务器附加到它们所属的项目。到目前为止,我一次只上传一个文件。
我的想法可能是在 arralylist 中添加“文件”对象,然后将其绑定到 gridview,然后将其上传到服务器?我知道这听起来有点令人困惑,但我也很困惑!
当我将单个文件上传到服务器并将文件的 ID、名称和上下文保存在数据库中时,这就是我的方法的样子:
File file = new File();
Projects_Overview po = new Projects_Overview();
po.Name = TextBoxName.Text;
po.Time = time;
po.Owner = TextBoxOwner.Text;
po.Responsibility = TextBoxResp.Text;
po.Created = datecreate;
po.StartDate = datestart;
po.FinishDate = datefinish;
po.ETC = dateETC;
po.Description = TextBoxDesc.Text;
po.Comments = TextBoxComments.Text;
po.Remember = TextBoxRemember.Text;
ie.Projects_Overview.AddObject(po);
ie.SaveChanges();
if (uploadFile.HasFile)
{
string filepath = uploadFile.PostedFile.FileName;
string fileName = Path.GetFileName(filepath);
file.Context = Path.GetFileNameWithoutExtension(uploadFile.PostedFile.FileName);
file.Extension = Path.GetExtension(uploadFile.PostedFile.FileName).Replace(".", "").Substring(0, 4);
file.FileName = Guid.NewGuid();
string fileSavePath = Server.MapPath("") + "\\Wordfiles\\" + Convert.ToString(file.FileName) + ".upl";
uploadFile.PostedFile.SaveAs(fileSavePath);
file.ProjectID = po.ID;
ie.File.AddObject(file);
ie.SaveChanges();
有人可以告诉我如何“附加”多个文件,然后将它们与我上面发布的其他数据一起保存在文件夹中吗?
干杯