在ASP.NET 中關於文件的上傳有很多種;所謂的上傳有有兩種含意:第一種:就是說把文件保存在數據庫;第二種就是保存在
一個指定的文件夾下;
今天給大家介紹一所很簡單多文件上傳方式;通過JQ Plugin插件的形式來達到上傳文件的效果;這種文件上傳的方式,簡單,靈活
只是能過屬性的配置就可以完成上傳大部分的工作:
項目目錄列表:
第一步:引入Jquery相關的JS文件:
<script src="JQuery/jquery-1[1].3.2-vsdoc2.js" type="text/javascript"></script> --這是VS2008智能感知的一個JS文件 <script src="JQuery/jquery-1[1].3.2.js" type="text/javascript"></script> ---這裡JQ中的內庫文件,版本是1.3.2 <script src="JQuery/jquery.MultiFile.js" type="text/javascript"></script>
----這是JQ Plugin 文件
注:以上三個文件是除第一個外,都必須引用到你的頁面文件中,程序才能正確的運行;
第二步:添加FileUpload上傳文件控件和一個上傳Button;
<fieldset style="height: 94px; width: 359px"> <legend>JQuery 多文件上傳</legend> <asp:FileUpload ID="UpFile" runat="server" class="multi" maxlength="2" /> <asp:Button ID="btnUpload" runat="server" Text="UpLoad All" OnClick="btnUpload_Click" /> </fieldset>
說明:這時可以對FileUpload上傳控件配置屬性,屬性說明:
屬性名
說明
用例
Class 上傳類型 class=multi maxlength 上傳文件的個數 maxlength=3 accept 接受上傳文件類型 accept=jpg|rar還可以自定義上傳文件列表的樣式,在這裡我就不一一舉出來,
第三步:編寫後上傳文件的代碼:
protected void btnUpload_Click(object sender, EventArgs e) { try { HttpFileCollection hfc = Request.Files; for (int i = 0; i < hfc.Count; i++) { HttpPostedFile hpf = hfc[i]; if (hpf.ContentLength > 0) { hpf.SaveAs(Server.MapPath("MyFile") + "\\" + System.IO.Path.GetFileName(hpf.FileName)); Response.Write("<script>alert('文件上傳成功!')</script>"); } } } catch (Exception ex) { throw ex; } }
第四步:運行效果:
從運行效果可以看出,當你上傳的文件數等於你屬性設置的大小時,上傳控件的浏覽將變為不可有狀態;
這大大給我們簡化了寫代碼時間;
雖然這篇文章很簡單,但希望對大家在以後的項目中有所幫助;