FileUpload上传与下载
后台代码:
- public string connstr = "server=128.1.3.113;database=test;uid=sa;pwd=pass";
- protected void Page_Load(object sender, EventArgs e)
- {
- LoadData();
- }
- protected void BtnSave_Click(object sender, EventArgs e)
- {
- if (FileUpload1.HasFile)
- {
- string name = FileUpload1.FileName;
- string filepath = Server.MapPath("~/") + "upload\\" + name;
- using (SqlConnection conn = new SqlConnection(connstr))
- {
- conn.Open();
- SqlCommand comm = conn.CreateCommand();
- comm.CommandText = string.Format("insert into PathTable (Name,Path) values('{0}','{1}')",name,filepath);
- int count = comm.ExecuteNonQuery();
- if (count > )
- {
- FileUpload1.SaveAs(filepath);
- LoadData();
- Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('保存成功')</script>");
- }
- else
- {
- ClientScript.RegisterStartupScript(this.GetType(),"","<script>alert('保存失败')</script>");
- }
- }
- }
- }
- public void LoadData()
- {
- using (SqlConnection conn = new SqlConnection(connstr))
- {
- conn.Open();
- SqlCommand comm = conn.CreateCommand();
- comm.CommandText = "select * from PathTable";
- comm.ExecuteScalar();
- SqlDataAdapter adapter = new SqlDataAdapter(comm);
- DataSet ds = new DataSet();
- adapter.Fill(ds);
- GridView1.DataSource = ds.Tables[];
- GridView1.DataBind();
- }
- }
- public static void DownloadFile(string physicalFilePath)
- {
- FileStream stream = null;
- try
- {
- stream = new FileStream(physicalFilePath, FileMode.Open, FileAccess.Read, FileShare.Read);
- int bufSize = (int)stream.Length;
- byte[] buf = new byte[bufSize];
- int bytesRead = stream.Read(buf, , bufSize);
- HttpContext.Current.Response.ContentType = "application/octet-stream";
- HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + System.IO.Path.GetFileName(physicalFilePath));
- HttpContext.Current.Response.OutputStream.Write(buf, , bytesRead);
- HttpContext.Current.Response.End();
- }
- finally
- {
- stream.Close();
- }
- }
- protected void LinkButton_Click(object sender, CommandEventArgs e)
- {
- if (e.CommandArgument!=null)
- {
- string path = e.CommandArgument.ToString();
- DownloadFile(path);
- }
- }
前台代码:
- <head runat="server">
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
- <title></title>
- </head>
- <body>
- <form id="form1" runat="server">
- <div>
- </div>
- <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
- <Columns>
- <asp:TemplateField HeaderText="编号">
- <ItemTemplate>
- <asp:Label ID="Id" Text='<%#Eval("Id") %>' runat="server"></asp:Label>
- </ItemTemplate>
- </asp:TemplateField>
- <asp:TemplateField HeaderText="文件名">
- <ItemTemplate>
- <asp:Label ID="Name" Text='<%#Eval("Name") %>' runat="server"></asp:Label>
- </ItemTemplate>
- </asp:TemplateField>
- <asp:TemplateField HeaderText="路径">
- <ItemTemplate>
- <asp:Label ID="Path" Text='<%#Eval("Path") %>' runat="server"></asp:Label>
- </ItemTemplate>
- </asp:TemplateField>
- <asp:TemplateField HeaderText="下载">
- <ItemTemplate>
- <asp:LinkButton Text="下载" runat="server" CommandArgument='<%#Eval("Path")%>' OnCommand="LinkButton_Click"></asp:LinkButton>
- </ItemTemplate>
- </asp:TemplateField>
- </Columns>
- </asp:GridView>
- <p>
- <asp:FileUpload ID="FileUpload1" runat="server"/>
- </p>
- <p>
- <asp:Button ID="BtnSave" runat="server" Text="保存" OnClick="BtnSave_Click" />
- </p>
- </form>
- </body>
注意:
1、GridView列中的TemplateField属性很实用,可以在其中添加其他发服务器控件、绑定事件和进行字段转换等;
2、设置CommandArgumet和OnCommand事件,可以在后台方便的获取绑定的字段;
3、Text='<%#Eval("Id")%>' 单引号内放双引号。
FileUpload上传与下载的更多相关文章
- day24(JAVAWEB上传与下载)
javaWeb上传与下载 上传: 上传方式: jspSmartUpload :应用在jsp上的文件上传与下载组件. FileUpload :用用在jaava环境上的上传的功能 ...
- Webform之FileUpload(上传按钮控件)简单介绍及下载、上传文件时图片预览
1.FileUpload上传控件:(原文:http://www.cnblogs.com/hide0511/archive/2006/09/24/513201.html) FileUpload 控件显示 ...
- java web学习总结(二十四) -------------------Servlet文件上传和下载的实现
在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用 ...
- Struts2入门(七)——Struts2的文件上传和下载
一.前言 在之前的随笔之中,我们已经了解Java通过上传组件来实现上传和下载,这次我们来了解Struts2的上传和下载. 注意:文件上传时,我们需要将表单提交方式设置为"POST" ...
- (转载)JavaWeb学习总结(五十)——文件上传和下载
源地址:http://www.cnblogs.com/xdp-gacl/p/4200090.html 在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传 ...
- JavaWeb学习总结,文件上传和下载
在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用 ...
- java文件上传和下载
简介 文件上传和下载是java web中常见的操作,文件上传主要是将文件通过IO流传放到服务器的某一个特定的文件夹下,而文件下载则是与文件上传相反,将文件从服务器的特定的文件夹下的文件通过IO流下载到 ...
- JavaWeb学习总结(五十)——文件上传和下载
在Web应用系统开发中,文件上传和下载功能是非常常用的功能,今天来讲一下JavaWeb中的文件上传和下载功能的实现. 对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用 ...
- 文件上传和下载(可批量上传)——Spring(三)
在文件上传和下载(可批量上传)——Spring(二)的基础上,发现了文件下载时,只有在Chrome浏览器下文件名正常显示,还有发布到服务器后,不能上传到指定的文件夹目录,如上传20160310.txt ...
随机推荐
- Protractor AngularJS测试框架教程
Protractor是一个建立在WebDriverJS基础上的端到端(E2E)的AngularJS JavaScript Web应用程序测试框架.Protractor全自动化真实的模拟用户在真正的浏览 ...
- iOS - UIViewController
前言 NS_CLASS_AVAILABLE_IOS(2_0) @interface UIViewController : UIResponder <NSCoding, UIAppearanceC ...
- STRUTS2 标签 循环次数
*<s:property value="menus.size()"/> * <s:if test='menus.size()>8'> sssss ...
- Monkey学习(1)环境搭建
环境搭建: Monkey程序由Android系统自带,需要配置J2SE平台的JDK,还需要配置Android平台的SDK. 1)下载和配置JDK 下载与安装JDK过程省略... 配置JDK环境变量,我 ...
- js实现checkbox的全选和全不选功能
html代码: <form name="form1" method="post" action="manage.php?act=sub" ...
- Android开发面试经——2.常见Android基础笔试题
标签: androidAndroid基础Android面试题Android笔试题 2015-03-12 15:04 3361人阅读 评论(3) 收藏 举报 分类: Android开发(29) 版 ...
- 提高PHP开发质量的36个方法(精品)
提高PHP开发质量的36个方法 林涛 发表于:2016-3-25 0:00 分类:26点 标签: 62次 1.不要使用相对路径 常常会看到: require_once('../../lib/some_ ...
- linux删除文件未释放空间问题处理
linux删除文件未释放空间问题处理 或者 /根分区满了 (我的根分区是/dev/sda1,/dev/sda1满了) http://blog.csdn.net/donghustone/article/ ...
- webstorm注释写出的提示
写出这种代码提示的方法是 在一个函数上方打出 /** 然后敲回车就出出来 没达到上面的效果,自己手动写上即可. 这样的好处是: 当你写代码用到此方法的时候会有参数类型提示,如图
- django 2
创建一个管理员用户 首先,我们需要创建一个用户可以登录到管理网站. 运行 下面的命令: $ python manage.py createsuperuser 输入你想要的用户名,按回车. Userna ...