ASP.NET 文件上传于下载
2013-07-12 09:28
323 查看
本文主要介绍一下,在APS.NET中文件的简单上传于下载,上传是将文件上传到服务器的指定目录下,下载是从存入数据库中的路径,从服务器上下载。
1.上传文件
(1)页面代码
(2).后台代码
2.下载文件
(1)前台页面
(2)后台代码
1).绑定数据
2).下载文件
以上就完成了,简单的文件上传与下载。
1.上传文件
(1)页面代码
<tablealign="center"cellpadding="0"cellspacing="0"width="100%"> <tr> <tdalign="right">文件名称:</td> <td> <asp:TextBoxID="FileName"runat="server"></asp:TextBox> </td> <td></td> </tr> <tr> <tdalign="right">浏览:</td> <td> <asp:FileUploadID="FileUpload1"runat="server"/> </td> <td></td> </tr> <tr> <td></td> <td> <asp:ButtonID="UploadButton"runat="server"Text="上传" onclick="UploadButton_Click"/><asp:LabelID="Msg"runat="server"ForeColor="#FF0000"></asp:Label> </td> <td></td> </tr> </table>
(2).后台代码
protectedvoidUploadButton_Click(objectsender,EventArgse) { Msg.Text=""; MyWebSite.DAL.FileInfofile=newMyWebSite.DAL.FileInfo(); if(string.IsNullOrEmpty(FileName.Text)) { Msg.Text="请输入文件名"; return; } if(FileUpload1.HasFile) { try { DateTimeupload=DateTime.Now; stringflag=Path.GetExtension(FileUpload1.PostedFile.FileName); stringpath=Server.MapPath("../Upload/"+FileUpload1.FileName); stringsize=(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);//将上传的文件信息保存到数据库 Msg.Text="上传成功!"; } catch { Msg.Text="上传失败!"; } } }
2.下载文件
(1)前台页面
<asp:RepeaterID="Repeater1"runat="server"onitemcommand="down_file_Click"> <ItemTemplate> <tablewidth="90%"align="center"border="1"cellpadding="1"cellspacing="0"bgcolor="#e1e1e1"class="title_font"> <tr> <tdclass="title_font"width="10%"align="center">文件名称:</td> <tdwidth="20%"align="center"><b><asp:LabelID="FileTitle"runat="server"Text='<%#Eval("文件名称")%>'></asp:Label></b></td> <tdwidth="6%"align="center">类型:</td> <tdwidth="6%"align="center"><%#Eval("类型")%></td> <tdwidth="10%"align="center">文件大小:</td> <tdwidth="8%"align="center"><%#Eval("文件大小")%>KB</td> <tdwidth="10%"align="center">上传时间:</td> <td><%#Eval("上传时间")%></td> <tdwidth="10%"colspan="2"align="center"><asp:LinkButtonID="LinkButton1"CommandArgument='<%#Eval("link")%>'runat="server">下载文件</asp:LinkButton> </td> </tr> </table> <br/> </ItemTemplate> </asp:Repeater>
(2)后台代码
1).绑定数据
publicvoidGrvDataBin(List<FileInfo>list) { DataViewdv=newDataView(); DataTabledt=newDataTable("fileMeta"); { dt.Columns.Add("文件名称"); dt.Columns.Add("类型"); dt.Columns.Add("上传时间"); dt.Columns.Add("文件大小"); dt.Columns.Add("link"); } foreach(FileInfofileMinlist) { DataRowrow=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).下载文件
protectedvoiddown_file_Click(objectsender,RepeaterCommandEventArgse) { System.IO.FileStreamfs=null; try { stringfilePath=e.CommandArgument.ToString(); stringfileName=((Label)e.Item.FindControl("FileTitle")).Text.ToString(); fs=System.IO.File.OpenRead(filePath); byte[]buffer=newbyte[1024]; longcount=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(Exceptionex) { return; } finally { fs.Close(); } }
以上就完成了,简单的文件上传与下载。
相关文章推荐
- 2014-07-23 利用ASP.NET自带控件实现单文件上传与下载
- ASP.NET网站 文件的上传与下载(一)知识准备
- ASP.NET中常用的文件上传下载方法
- [导入]Asp.net 2.0 用 FileUpload 控件实现多文件上传 用户控件(示例代码下载)
- ASP.NET中对文件的操作 创建 读取 删除 上传 下载
- ASP.NET中文件上传下载方法集合
- ASP .net 实现文件上传 下载功能
- ASP.NET中常用的文件上传下载方法
- 基于asp.net的文件上传和下载
- ASP.NET中文件上传下载方法集合(较为详细的介绍 转)
- .NET技术 ASP.NET中常用的文件上传下载方法(多文件上传)
- AWS S3 API实现文件上传下载(ASP.NET MVC)
- ASP.NET中文件上传下载方法集合(上传限制,保存方式-二进制或文件形式,上传Internet上的资源 )
- ASP.NET中上传下载文件
- ASP.NET中文件上传下载方法集合
- ASP.NET中文件上传下载方法集合
- ASP.NET中常用的文件上传下载方法
- [转]ASP.NET中文件上传下载方法集合
- ASP.NET中文件上传下载方法集合
- asp.net文件上传下载及管理的实现