不用第三方插件,實現多文件上傳:
aspx文件關鍵代碼:
- <form id="form1" runat="server">
- 請選擇上傳的文件:<br />
- <asp:FileUpload ID="FileUpload1" runat="server" /><br />
- <br />
- <asp:FileUpload ID="FileUpload2" runat="server" /><br />
- <br />
- <asp:FileUpload ID="FileUpload3" runat="server" /><br />
- <br />
- <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
- <asp:Literal ID="LiteralScript" runat="server" EnableViewState="false"></asp:Literal>
- </form>
<form id="form1" runat="server">
請選擇上傳的文件:<br />
<asp:FileUpload ID="FileUpload1" runat="server" /><br />
<br />
<asp:FileUpload ID="FileUpload2" runat="server" /><br />
<br />
<asp:FileUpload ID="FileUpload3" runat="server" /><br />
<br />
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
<asp:Literal ID="LiteralScript" runat="server" EnableViewState="false"></asp:Literal>
</form>
aspx.cs文件關鍵代碼:
- protected void Button1_Click(object sender, EventArgs e)
- {
- HttpFileCollection files = Request.Files;
- for (int i = 0; i < files.Count; i++)
- {
- if (files[i].ContentLength == 0)
- {
- LiteralScript.Text = "<script>alert('請選擇文件!')</script>";
- return;
- }
- }
- for (int i = 0; i < files.Count; i++)
- {
- if (files[i].ContentLength > 0)
- files[i].SaveAs(Server.MapPath("~/") + Path.GetFileName(files[i].FileName));
- }
- }
protected void Button1_Click(object sender, EventArgs e)
{
HttpFileCollection files = Request.Files;
for (int i = 0; i < files.Count; i++)
{
if (files[i].ContentLength == 0)
{
LiteralScript.Text = "<script>alert('請選擇文件!')</script>";
return;
}
}
for (int i = 0; i < files.Count; i++)
{
if (files[i].ContentLength > 0)
files[i].SaveAs(Server.MapPath("~/") + Path.GetFileName(files[i].FileName));
}
}
示例用的是多個FileUpload控件,也可以使用HtmlInputFile控件或直接使用靜態file表單元素。
string[] str = new string[4];
//獲取HttpFileCollection對象
HttpFileCollection fileList = System.Web.HttpContext.Current.Request.Files;
for (int i = 0; i < str.length; i++)
{
System.Web.HttpPostedFile postedFile = fileList[i];
string fileName = postedFile.FileName;
if (fileName != string.Empty)
{
string size = postedFile.ContentLength.ToString();
if (int.Parse(size) >= 332422812) //判斷上傳片的大小
{
return ;
}
else
{
string Imagetype = fileName.Substring(fileName.LastIndexOf(".")); //圖片類型
if (Imagetype == ".jpg" || Imagetype == ".bmp" || Imagetype == ".gif" || Imagetype == ".png" || Imagetype == ".jpeg")
{
string root = Server.MapPath("~/images/uploads/Media/bigImg/"); //圖片保存路徑
string proName = "";
string proNameNew = "";
string filePathOld = ""; //原圖片路徑
string filePathNew = ""; //新圖片路徑
filePathOld = root + strl[i];
if (File.Exists(filePathOld))
{
proNameNew = DateTime.Now.ToString("yyyyMMddhhmmss") + strl[i];
File.Move(filePathOld, (root + proNameNew)); //將原圖片重新命名
}
proName = "My"+Imagetype; //新圖片名
filePathNew = root + proName;
postedFile.SaveAs(filePathNew);
strl[i] = proName; //存儲圖片新名稱
}
}
}