我一直在为这个问题而苦苦挣扎。我有一个 Web 界面,可以在其中创建项目,有了它,您应该能够将多个文档上传到服务器,该服务器附加到它们所属的项目。到目前为止,我使它一次只上传一个文件。
我的想法可能是在arralylist中添加"文件"对象,然后将其绑定到网格视图,然后将其上传到服务器?我知道这听起来有点令人困惑,但我也感到困惑!
当我将单个文件上传到服务器并将文件的 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();
有人可以告诉我如何"附加"多个文件,然后将它们与我上面发布的其他数据一起保存在文件夹中吗?
干杯
HTML 5具有处理多文件上传的内置功能(HTML4没有),但我还没有使用HTML5。 对于HTML4,您必须使用外部控件(通常是javascript或flash),因为没有内置机制允许多文件上传。
我确实编写了一个多文件上传页面,该页面使用 HTML4 或 HTML5 使用 PLupload(外部控件)来执行文件选取。 我必须找到一个通用文件处理程序来将控件连接到.aspx上传页面。 我想我在这里找到了。
实施花了几个小时,但效果很好。