ASP.NET实现文件上传
生活随笔
收集整理的這篇文章主要介紹了
ASP.NET实现文件上传
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
新建ASP.NET Web應用程序
單文件上傳
效果
頁面代碼
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm.aspx.cs" Inherits="WebDropzone.WebForm" %><!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"> <head><meta name="viewport" content="width=device-width" /><title></title> </head> <body><form id="form1" runat="server"><table style="width: 343px"><tr><td style="width: 100px">單文件上傳</td><td style="width: 100px"></td></tr><tr><td style="width: 100px"><asp:FileUpload ID="FileUpload1" runat="server" Width="475px" /></td><td style="width: 100px"><asp:Button ID="bt_upload" runat="server" OnClick="bt_upload_Click" Text="上傳" /></td></tr><tr><td style="width: 100px; height: 21px;"><asp:Label ID="lb_info" runat="server" ForeColor="Red" Width="183px"></asp:Label></td><td style="width: 100px; height: 21px"></td></tr></table></form> </body> </html>后臺代碼
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Web; using System.Web.Mvc;namespace WebDropzone {public partial class WebForm : System.Web.UI.Page, IHttpHandler{protected void Page_Load(object sender, EventArgs e){}protected void bt_upload_Click(object sender, EventArgs e){try{if (FileUpload1.PostedFile.FileName == ""){this.lb_info.Text = "請選擇文件!";}else{string filepath = FileUpload1.PostedFile.FileName;string filename = filepath.Substring(filepath.LastIndexOf("\\") + 1);string serverpath = Server.MapPath("File/") + filename;FileUpload1.PostedFile.SaveAs(serverpath);this.lb_info.Text = "上傳成功!";}}catch (Exception ex){this.lb_info.Text = "上傳發生錯誤!原因是:" + ex.ToString();}}} }多文件上傳
效果
頁面代碼
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm.aspx.cs" Inherits="WebDropzone.WebForm" %><!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"><meta name="viewport" content="width=device-width" /><title></title> </head> <body><form id="form1" runat="server"><div><table style="width: 343px"><tr><td style="width: 100px">多文件上傳</td><td style="width: 100px"></td></tr><tr><td style="width: 100px"><asp:FileUpload ID="FileUpload1" runat="server" Width="475px" /></td><td style="width: 100px"></td></tr><tr><td style="width: 100px"><asp:FileUpload ID="FileUpload2" runat="server" Width="475px" /></td><td style="width: 100px"></td></tr><tr><td style="width: 100px"><asp:FileUpload ID="FileUpload3" runat="server" Width="475px" /></td><td style="width: 100px"></td></tr><tr><td style="width: 100px"><asp:Button ID="bt_upload" runat="server" OnClick="bt_upload_Click" Text="一起上傳" /><asp:Label ID="lb_info" runat="server" ForeColor="Red" Width="183px"></asp:Label></td><td style="width: 100px"></td></tr></table></div></form> </body> </html>后臺代碼
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Web; using System.Web.Mvc;namespace WebDropzone {public partial class WebForm : System.Web.UI.Page, IHttpHandler{protected void Page_Load(object sender, EventArgs e){}protected void bt_upload_Click(object sender, EventArgs e){if ((FileUpload1.PostedFile.FileName == "" && FileUpload2.PostedFile.FileName == "") && FileUpload3.PostedFile.FileName == ""){this.lb_info.Text = "請選擇文件!";}else{HttpFileCollection myfiles = Request.Files;for (int i = 0; i < myfiles.Count; i++){HttpPostedFile mypost = myfiles[i];try{if (mypost.ContentLength > 0){string filepath = mypost.FileName;string filename = filepath.Substring(filepath.LastIndexOf("\\") + 1);string serverpath = Server.MapPath("File/") + filename;mypost.SaveAs(serverpath);this.lb_info.Text = "上傳成功!";}}catch (Exception error){this.lb_info.Text = "上傳發生錯誤!原因:" + error.ToString();}}}}} }在實際應用中,這種方式是不可行的,因為不可能讓用戶通過多次點擊多個按鈕,進行多個文件的上傳,而是可以直接選擇多個文件,直接實現上傳,其次,界面太丑,單純的通過ASP.ENT服務器控件實行文件上傳功能很少使用。
總結
以上是生活随笔為你收集整理的ASP.NET实现文件上传的全部內容,希望文章能夠幫你解決所遇到的問題。