0

我一直在为这个问题苦苦挣扎一段时间。我有一个创建项目的 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();

有人可以告诉我如何“附加”多个文件,然后将它们与我上面发布的其他数据一起保存在文件夹中吗?

干杯

4

1 回答 1

0

我相信 HTML 5 具有处理多文件上传的内置功能(HTML4 没有),但我还没有使用过 HTML5。对于 HTML4,您必须使用外部控件(通常是 javascript 或 flash),因为没有允许多文件上传的内置机制。

我确实编写了一个与 HTML4 或 HTML5 一起使用的多文件上传页面,使用PLupload(一个外部控件)来执行文件选择。我必须找到一个通用文件处理程序来将控件连接到 .aspx 上传页面。我想我在这里找到了。

实施花了几个小时,但效果很好。

于 2013-01-26T21:07:40.587 回答