多附件的上传

摘要:
实现多个附件的上传。俗话说,语言不如文字,文字不如图形。您可以单击“添加”按钮添加任意数量的上载文件,或单击“取消”按钮取消多个文件的上载。它实现了一次上传和一次成功的效果。

实现多附件的上传,俗话说:语言不如文字,文字不如图形。先传个页面看看
 多附件的上传第1张
可以点击“添加”按钮任意添加上传文件的个数,也可以通过“取消”按钮取消多个文件的上传。这样可以一次上传N个附件,而不需要每上传一个附件点击一次上传按钮。达到了一次上传,一次成功的效果。
1、JS代码

 1多附件的上传第2张function addFileControl()
 2多附件的上传第3张多附件的上传第4张         多附件的上传第5张{
 3多附件的上传第6张         var str='<input type=file name=File size=40>'
 4多附件的上传第6张         document.getElementById('FileCollection').insertAdjacentHTML("beforeEnd",str)
 5多附件的上传第8张         }

 6多附件的上传第2张         
 7多附件的上传第2张          function delFile()
 8多附件的上传第3张多附件的上传第4张         多附件的上传第5张{
 9多附件的上传第6张            var el = document.getElementById("FileCollection");
10多附件的上传第6张            if (el.hasChildNodes())
11多附件的上传第6张               el.removeChild(el.lastChild);
12多附件的上传第8张         }
 
13多附件的上传第2张


    2. 前台代码 

1多附件的上传第2张<p id="FileCollection">
2多附件的上传第2张                                        <input type="file" name="File" id="file" size="40" />
3多附件的上传第2张                                    <p>
4多附件的上传第2张                                        <%--<input type =image onclick="addFileControl()"   src="../Images/tianjia.gif"  value="增加"/>--%>
5多附件的上传第2张                                        <input type="button" value="增加" onclick="addFileControl()" class="button" />
6多附件的上传第2张                                        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
7多附件的上传第2张                                        <input type="button" value="取消" onclick="delFile()" class="button" /></p>
8多附件的上传第2张

         
 3、后台CS代码

 1多附件的上传第2张System.Web.HttpFileCollection files = System.Web.HttpContext.Current.Request.Files;
 2多附件的上传第2张        int fileCount;
 3多附件的上传第2张        string Extension = "";
 4多附件的上传第2张        string SavedName = "";
 5多附件的上传第2张        string upname = "";
 6多附件的上传第2张        string savedpath = "";
 7多附件的上传第2张        string realname="";
 8多附件的上传第2张        string virtualname = "";
 9多附件的上传第2张        string path = "";
10多附件的上传第2张        string OppPath = "UploadFile";
11多附件的上传第2张        try
12多附件的上传第3张多附件的上传第4张        多附件的上传第5张{
13多附件的上传第6张            if (!Directory.Exists(Server.MapPath(OppPath)))
14多附件的上传第6张                Directory.CreateDirectory(Server.MapPath(OppPath));
15多附件的上传第6张
16多附件的上传第6张            OppPath += "/";
17多附件的上传第6张            string AbsPath = Server.MapPath(OppPath);
18多附件的上传第6张
19多附件的上传第6张            for (fileCount = 0; fileCount < files.Count; fileCount++)
20多附件的上传第48张多附件的上传第49张            多附件的上传第5张{
21多附件的上传第6张
22多附件的上传第6张                //定义访问客户端上传文件的对象
23多附件的上传第6张                System.Web.HttpPostedFile postedFile = files[fileCount];
24多附件的上传第6张                string fileName, fileExtension;
25多附件的上传第6张                fileName = System.IO.Path.GetFileName(postedFile.FileName);
26多附件的上传第6张                if (fileName != string.Empty)
27多附件的上传第48张多附件的上传第49张                多附件的上传第5张{
28多附件的上传第6张                    Extension = System.IO.Path.GetExtension(fileName);
29多附件的上传第48张多附件的上传第49张                    /**/////取上传文件的文件名
30多附件的上传第6张
31多附件的上传第6张                    upname = System.IO.Path.GetFileName(fileName);
32多附件的上传第6张                    //系统自动产生的日期型文件名
33多附件的上传第6张
34多附件的上传第6张
35多附件的上传第6张                    SavedName = string.Format("{0:yyyyMMddHHmmss}", System.DateTime.Now);
36多附件的上传第48张多附件的上传第49张                    /**/////把文件保存到UploadFile文件中
37多附件的上传第6张
38多附件的上传第6张
39多附件的上传第6张                    postedFile.SaveAs(AbsPath+SavedName + upname);
40多附件的上传第6张                    string strJS = "<script>";
41多附件的上传第6张                    strJS = strJS + "parent.HtmlEdit.focus();";
42多附件的上传第6张                    strJS = strJS + "var range = parent.HtmlEdit.document.selection.createRange();";
43多附件的上传第6张                    strJS = strJS + "range.pasteHTML('<a href=\"" + savedpath + SavedName + upname;
44多附件的上传第6张                    strJS = strJS + "\">" + SavedName +"</a>');";
45多附件的上传第6张                    strJS = strJS + "parent.HtmlEdit.focus();";
46多附件的上传第6张                    strJS = strJS + "</script>";
47多附件的上传第6张                    Response.Write(strJS);
48多附件的上传第6张                    virtualname +=OppPath+ SavedName + upname + ",";
49多附件的上传第6张                    realname += upname + ",";
50多附件的上传第6张                    path = savedpath;
51多附件的上传第85张                }

52多附件的上传第85张            }

53多附件的上传第6张           
54多附件的上传第8张        }

55多附件的上传第2张        catch (System.Exception error)
56多附件的上传第3张多附件的上传第4张        多附件的上传第5张{
57多附件的上传第6张            throw error;
58多附件的上传第8张        }
 1多附件的上传第2张public int  File_pre_Appendix(int i, int j,string appendixname,string appendixpath)
 2多附件的上传第3张多附件的上传第4张        多附件的上传第5张{
 3多附件的上传第6张            if ((i != 0&& (appendixname != ""))
 4多附件的上传第48张多附件的上传第49张            多附件的上传第5张{
 5多附件的上传第6张                //对文件的附件进行存储
 6多附件的上传第6张                string[] sArray = appendixname.Split(',');
 7多附件的上传第6张                foreach (string strArr in sArray)
 8多附件的上传第48张多附件的上传第49张                多附件的上传第5张{
 9多附件的上传第6张
10多附件的上传第6张                    if (strArr != "")
11多附件的上传第48张多附件的上传第49张                    多附件的上传第5张{
12多附件的上传第6张                        //取上传文件的文件名
13多附件的上传第6张                        file.GetID = i;
14多附件的上传第6张                        file.AppendixNmae = OppPath + strArr.ToString().Trim();
15多附件的上传第6张                        file.AppendixAddress = appendixpath.Trim();
16多附件的上传第6张                        file.UserID = UserID;
17多附件的上传第6张                        file.AppendixTypeID = j;
18多附件的上传第6张                        filedb.insertAppendix(file);
19多附件的上传第85张                    }

20多附件的上传第6张
21多附件的上传第85张                }

22多附件的上传第6张                return 1;
23多附件的上传第85张            }

24多附件的上传第6张            else
25多附件的上传第48张多附件的上传第49张            多附件的上传第5张{
26多附件的上传第6张                return 0;
27多附件的上传第85张            }

28多附件的上传第8张    }

29多附件的上传第2张 //获取附件表中的附件名称(路径)
30多附件的上传第2张            string OppPath =fileDB.GetFile_AppendixPath((object)AppendixID);
31多附件的上传第2张              //获取绝对路径
32多附件的上传第2张            string AbsPath = Page.Server.MapPath(OppPath );
33多附件的上传第2张            if (System.IO.File.Exists(AbsPath))
34多附件的上传第3张多附件的上传第4张            多附件的上传第5张{
35多附件的上传第6张                //删除硬盘文件
36多附件的上传第6张                System.IO.File.Delete(AbsPath);
37多附件的上传第8张            }
 
38多附件的上传第2张

免责声明:文章转载自《多附件的上传》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Android TV : 系统分区配置及增加私有分区C语言分配4k对齐内存下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

python mock接口返回数据(转载)

Python mock  在测试过程中,为了更好地展开单元测试,mock一些数据跟对象在所难免,下面讲一下python的mock的简单用法。 关于python mock,网上有很多资料,这里不会讲的特别深,但一定会是实用为主,看完后,至少可以让你知道mock是怎样用的。 1.mock对象方法中的返回数据: 我们经常会需要这样的场景,a系统跟b系统联调,b...

牛腩新闻发布系统(一):SQLHelper重构(一)

导读:在机房重构的时候,就用到了SQLHelper,但那时候即使把代码反复看了很多遍,也看了注释,还和同学交流,也依然是半懂不懂。现在,我再次用到了SQLhelper这个东西,就来说说SQLHelper是怎么构建的。 一、Why?(为什么用) 1,首先看普遍性的D层操作 <span style="font-size:18px;">&...

Layui upload 上传有进度条

首先需要下载最新的 layui的js layui 有进度条是在 2.5.5的时候添加了进度条的功能,所有在也不用 xhr:function了 1、前台HTML <link href="~/Scripts/layui/css/layui.css" rel="stylesheet" /> <script src="~/Scripts/layu...

systemctl java jar 添加jar文件开机启动项

转载自:https://blog.csdn.net/slqgenius/article/details/85778578 一,原由 因为使用 nohup 和 & 这种方式启动jar包的话,只会放在后台里面执行,如果某天,人为或机器故障等原因,触发重启了。那样程序就会关闭,不清楚系统的人,可能都不知道这个需要启动。 所以,这里使用Centos7系统...

WPF 下两种图片合成或加水印的方式

最近项目中应用多次应用了图片合成,为了今后方便特此记下。 在WPF下有两种图片合成的方式,一种还是用原来C#提供的GDI+方式,命名空间是System.Drawing 和 System.Drawing.Imaging,另一种是WPF中新添加的API,命名空间是 System.Windows.Media 和 System.Windows.Media.Imag...

驱动下通过进程PID获得进程名 (动态获取ImageFileName在EPROCESS结构体中的相对偏移)

思路 进程EPROCESS结构体中含有进程名ImageFileName(需求处ImageFileName在EPROCESS结构体中的相对偏移)——》获得进程EPROCESS——》通过进程句柄获得EPROCESS——》通过进程PID打开进程获得进程句柄 计算ImageFileName在EPROCESS结构体中的相对偏移 方法一 来个判断操作系统,再利用win...