日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

ASP.NET 文件上传于下载

發(fā)布時間:2023/12/10 asp.net 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ASP.NET 文件上传于下载 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

  本文主要介紹一下,在APS.NET中文件的簡單上傳于下載,上傳是將文件上傳到服務器的指定目錄下,下載是從存入數(shù)據(jù)庫中的路徑,從服務器上下載。

  1.上傳文件

  (1)頁面代碼

<table align="center" cellpadding="0" cellspacing="0" width="100%"><tr><td align="right">文件名稱:</td><td><asp:TextBox ID="FileName" runat="server"></asp:TextBox></td><td></td></tr> <tr><td align="right">瀏覽:</td><td><asp:FileUpload ID="FileUpload1" runat="server" /></td><td></td></tr> <tr><td></td><td><asp:Button ID="UploadButton" runat="server" Text="上傳" onclick="UploadButton_Click" /><asp:Label ID="Msg" runat="server" ForeColor="#FF0000"></asp:Label> </td><td></td></tr> </table>

  (2).后臺代碼  

protected void UploadButton_Click(object sender, EventArgs e){Msg.Text = "";MyWebSite.DAL.FileInfo file = new MyWebSite.DAL.FileInfo();if (string.IsNullOrEmpty(FileName.Text)){Msg.Text = "請輸入文件名";return;}if (FileUpload1.HasFile){try{DateTime upload = DateTime.Now;string flag = Path.GetExtension(FileUpload1.PostedFile.FileName);string path = Server.MapPath("../Upload/" + FileUpload1.FileName);string size = (FileUpload1.PostedFile.ContentLength / 1024).ToString();FileUpload1.SaveAs(path);file.FileName = FileName.Text.ToString();file.Type = flag;//獲得文件格式file.Size = size;//文件大小file.FilePath = path;//上傳到服務器的絕對路徑file.UploadTime = DateTime.Now.ToShortDateString();//上傳時間handler.AddFile(file);//將上傳的文件信息保存到數(shù)據(jù)庫Msg.Text = "上傳成功!";}catch{Msg.Text = "上傳失敗!";}}}

  2.下載文件

  (1)前臺頁面

<asp:Repeater ID="Repeater1" runat="server" onitemcommand="down_file_Click"><ItemTemplate> <table width="90%" align="center" border="1" cellpadding="1" cellspacing="0" bgcolor="#e1e1e1" class="title_font"><tr><td class="title_font" width="10%" align="center">文件名稱:</td><td width="20%"align="center"><b><asp:Label ID="FileTitle" runat="server" Text='<%#Eval("文件名稱") %>'></asp:Label></b></td><td width="6%"align="center">類型:</td><td width="6%"align="center"><%#Eval("類型") %></td> <td width="10%" align="center">文件大小:</td><td width="8%"align="center"><%#Eval("文件大小") %>KB</td><td width="10%"align="center">上傳時間:</td><td ><%#Eval("上傳時間") %></td><td width="10%" colspan="2" align="center"><asp:LinkButton ID="LinkButton1" CommandArgument='<%#Eval("link") %>' runat="server">下載文件</asp:LinkButton></td></tr> </table><br /></ItemTemplate> </asp:Repeater>

  (2)后臺代碼

  1).綁定數(shù)據(jù)

public void GrvDataBin(List<FileInfo> list){DataView dv = new DataView();DataTable dt = new DataTable("fileMeta");{dt.Columns.Add("文件名稱");dt.Columns.Add("類型");dt.Columns.Add("上傳時間");dt.Columns.Add("文件大小");dt.Columns.Add("link");}foreach (FileInfo fileM in list){DataRow row = dt.NewRow();row[0] = fileM.FileName;row[1] = fileM.Type;row[2] = fileM.UploadTime;row[3] = fileM.Size;row[4] = fileM.FilePath;dt.Rows.Add(row);}dv.Table = dt;Repeater1.DataSource = dv;Repeater1.DataBind();}

  2).下載文件

  

protected void down_file_Click(object sender, RepeaterCommandEventArgs e){System.IO.FileStream fs = null;try{string filePath = e.CommandArgument.ToString();string fileName = ((Label)e.Item.FindControl("FileTitle")).Text.ToString();fs = System.IO.File.OpenRead(filePath);byte[] buffer = new byte[1024];long count = 1024;Response.Buffer = true;Response.AddHeader("Connection", "Keep-Alive");Response.ContentType = "application/octet-stream";Response.AddHeader("Content-Disposition", "attachment;filename=" + Server.UrlEncode(System.IO.Path.GetFileName(filePath)));//下載時要保存的默認文件名Response.AddHeader("Content-Length", fs.Length.ToString());while (count == 1024){count = fs.Read(buffer, 0, 1024);Response.BinaryWrite(buffer);}}catch (Exception ex){return;}finally{fs.Close();}}

  以上就完成了,簡單的文件上傳與下載。 

?

?

轉載于:https://www.cnblogs.com/akwwl/p/3184239.html

總結

以上是生活随笔為你收集整理的ASP.NET 文件上传于下载的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。