WEB文件上传下载功能
WEB文件上传下载在日常工作中经常用到的功能
这里用到JS库
http://files.cnblogs.com/meilibao/ajaxupload.3.5.js
上传代码段(HTML)
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="UrlTest.aspx.cs" Inherits="WebDome.UrlTest" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title>
<script src="../../scripts/ajaxupload.3.5.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
var btnUpload = $('#lblFile');
var status = $('#lblstatus');
new AjaxUpload(btnUpload, {
action: '/Upload.aspx',
name: 'txtFile',
onSubmit: function (file, ext) {
if (!(ext && /^(xls|doc|xlsx|docx|pdf|swf|zip|rar)$/.test(ext))) {
status.text('温馨提示:只能上传Excel、Word、PDF,ZIP,RAR或者SWF文件。');
return false;
}
status.text('正在上传,请稍候...');
},
onComplete: function (file, response) {
status.text('');
$("#hdFilePath").val('');
var c = response.substring(0, 2);
var t = response.substring(3);
if (c === "00") {
status.text('上传成功。文件名称:' + response.substring(70));
$("#hdFilePath").val(response.substring(15));
} else {
status.text(t);
}
}
});
});
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
</form>
</body>
</html>
---下面是Upload.aspx处理上传文件
protected void Page_Load(object sender, EventArgs e)
{
try
{
string sPath = "/UploadFile/" + DateTime.Now.ToString("yyyyMMdd") + @"\" + CurrentAdmin.OpId + @"\";
string path = Server.MapPath(sPath);
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
HttpPostedFile hpfFile = Request.Files["txtFile"];
if (hpfFile.ContentLength == 0)
throw new Exception("文件大小为0字节,上传文件失败!");
string extendName = hpfFile.FileName.Substring(hpfFile.FileName.LastIndexOf("."));
string tempFileName = Guid.NewGuid().ToString() + "_" + hpfFile.FileName.Substring(0, hpfFile.FileName.LastIndexOf("."));
hpfFile.SaveAs(path + tempFileName + extendName);
Response.Write("00|" + sPath + tempFileName + extendName);
} catch (Exception ex)
{
Response.Write("02|" + ex.Message);
}
}
--上传文件END---
下载文件
页面HTML
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="FileDownload.aspx.cs" Inherits="WebDome.FileDownload" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <div>
<asp:LinkButton ID="lkbtnDownload"
CommandArgument="/UploadFile/<%=fileName%>" runat="server"
style=" text-decoration:none;color:Black;" onclick="lkbtnDownload_Click">LinkButton</asp:LinkButton>
</div> </form> </body> </html>
---DownLoad--Method
public static void DownLoadFile(System.Web.UI.WebControls.LinkButton LinkButton1, System.Web.UI.Page page)
{
string filePath = page.Server.MapPath(LinkButton1.CommandArgument as string);
System.IO.FileInfo fileInfo = new System.IO.FileInfo(filePath);
string fileName = fileInfo.Name;
string fileextend = fileInfo.Extension;
string contentType = "";
if (fileextend == ".xls")
contentType = "application/vnd.ms-excel";
if (fileextend == ".xlsx")
contentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
if (fileextend == ".doc")
contentType = "application/msword";
if (fileextend == ".docx")
contentType = "application/vnd.openxmlformats-officedocument.wordprocessingml.document";
if (fileextend == ".pdf")
contentType = "application/pdf";
if (fileextend == ".swf")
contentType = "application/x-shockwave-flash";
page.Response.Clear();
page.Response.ClearContent();
page.Response.ClearHeaders();
page.Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(fileName.Substring(37), System.Text.Encoding.UTF8));
page.Response.AddHeader("Content-Length", fileInfo.Length.ToString());
page.Response.AddHeader("Content-Transfer-Encoding", "binary");
page.Response.ContentType = contentType;
page.Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");
page.Response.WriteFile(fileInfo.FullName);
page.Response.Flush();
page.Response.Close();
}
搞定--------------------
WEB文件上传下载功能的更多相关文章
- JavaWeb实现文件上传下载功能实例解析
转:http://www.cnblogs.com/xdp-gacl/p/4200090.html JavaWeb实现文件上传下载功能实例解析 在Web应用系统开发中,文件上传和下载功能是非常常用的功能 ...
- JavaWeb实现文件上传下载功能实例解析 (好用)
转: JavaWeb实现文件上传下载功能实例解析 转:http://www.cnblogs.com/xdp-gacl/p/4200090.html JavaWeb实现文件上传下载功能实例解析 在Web ...
- java web 文件上传下载
文件上传下载案例: 首先是此案例工程的目录结构:
- Struts2实现文件上传下载功能(批量上传)
今天来发布一个使用Struts2上传下载的项目, struts2为文件上传下载提供了好的实现机制, 首先,可以先看一下我的项目截图 关于需要使用的jar包,需要用到commons-fileupload ...
- SpringMVC整合fastdfs-client-java实现web文件上传下载
原文:http://blog.csdn.net/wlwlwlwl015/article/details/52682153 本篇blog主要记录一下SpringMVC整合FastDFS的Java客户端实 ...
- web文件上传下载组件
最近遇见一个需要上传百兆大文件的需求,调研了七牛和腾讯云的切片分段上传功能,因此在此整理前端大文件上传相关功能的实现. 在某些业务中,大文件上传是一个比较重要的交互场景,如上传入库比较大的Excel表 ...
- 文件一键上传、汉字转拼音、excel文件上传下载功能模块的实现
----------------------------------------------------------------------------------------------[版权申明: ...
- php实现文件上传下载功能小结
文件的上传与下载是项目中必不可少的模块,也是php最基础的模块之一,大多数php框架中都封装了关于上传和下载的功能,不过对于原生的上传下载还是需要了解一下的.基本思路是通过form表单post方式实现 ...
- Java web文件上传下载
[版权申明:本文系作者原创,转载请注明出处] 文章出处:http://blog.csdn.net/sdksdk0/article/details/52048666 作者:朱培 ID:sdksdk0 邮 ...
随机推荐
- 更快的使用你的键盘:AUTOHOTKEY
本文适合于:每天用电脑工作学习的朋友.游戏发烧手指又不灵敏的朋友.希望提高自己使用电脑效率的朋友. 本文将将告诉你AutoHotkey能做什么,并会一步一步地教会你轻易地使用它,但不会教你更多Auto ...
- IOS中扩展机制Category和associative
在ios开发中,有时候会遇到以下的问题,需要在一个类中添加自己的一些属性和方法.一般的做法是重写一个类来继承它,但是有时候就只是需要添加一些简单的属性和方法,那么这样做就显得过于麻烦,其实在IOS中还 ...
- ExtJS5_主界面上加入顶部和底部区域
为主界面加一个顶部区域和底部区域.一个管理系统的界面可以粗分为顶部标题部分.中间数据展示和处理的部分.底部备注和状态部分. 在增加这二个区域之前,我们先在MainModel.js中加入一些数据. Ex ...
- 转:搭建Hive的图形界面
原文来自于:http://blog.csdn.net/w13770269691/article/details/17353595 今天想使用一下Hive的图形化工具HWI,我的Hive是0.12.0版 ...
- yum nfs
linux下3大文件共享方法 1.NFS NFS服务器配置 编辑/etc/exports,在文件中列出,要共享的目录.书写规则是:共享目录主机(参数).并且每条规则占据一行.例如: /mnt/mp3 ...
- @Resource 和 @Autowired注解的异同
@Resource 和 @Autowired注解的异同 @Autowired 默认按类型装配,默认情况下必须要求依赖对象必须存在,如果要允许null值,可以设置它的required属性为false 例 ...
- fsck 修复ext3文件系统(用于linux系统时间不对,文件系统信息有错引起的die with exit status等的一些问题)
有时候我们用虚拟机装了linux,可是我们做开发的人员,系统时间可能出于一些特殊要求调整过(例如保持一些特殊软件不过期,需要锁定时间等等),这样linux的系统时间久不准了,如果时间不准,会造成ext ...
- Spring MVC之LocaleResolver(解析用户区域)
为了让web应用程序支持国际化,必须识别每个用户的首选区域,并根据这个区域显示内容. 在Spring MVC应用程序中,用户的区域是通过区域解析器来识别的,它必须实现LocaleResolver接口. ...
- Disposable microfluidic devices: fabrication, function, and application Gina S. Fiorini and Daniel T
Disposable microfluidic devices: fabrication, function, and application Gina S. Fiorini and Daniel T ...
- android自定义倒计时控件示例
这篇文章主要介绍了Android秒杀倒计时自定义TextView示例,大家参考使用吧 自定义TextView控件TimeTextView代码: 复制代码 代码如下: import android.co ...