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>

&nbsp;<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文件上传下载功能的更多相关文章

  1. JavaWeb实现文件上传下载功能实例解析

    转:http://www.cnblogs.com/xdp-gacl/p/4200090.html JavaWeb实现文件上传下载功能实例解析 在Web应用系统开发中,文件上传和下载功能是非常常用的功能 ...

  2. JavaWeb实现文件上传下载功能实例解析 (好用)

    转: JavaWeb实现文件上传下载功能实例解析 转:http://www.cnblogs.com/xdp-gacl/p/4200090.html JavaWeb实现文件上传下载功能实例解析 在Web ...

  3. java web 文件上传下载

    文件上传下载案例: 首先是此案例工程的目录结构:

  4. Struts2实现文件上传下载功能(批量上传)

    今天来发布一个使用Struts2上传下载的项目, struts2为文件上传下载提供了好的实现机制, 首先,可以先看一下我的项目截图 关于需要使用的jar包,需要用到commons-fileupload ...

  5. SpringMVC整合fastdfs-client-java实现web文件上传下载

    原文:http://blog.csdn.net/wlwlwlwl015/article/details/52682153 本篇blog主要记录一下SpringMVC整合FastDFS的Java客户端实 ...

  6. web文件上传下载组件

    最近遇见一个需要上传百兆大文件的需求,调研了七牛和腾讯云的切片分段上传功能,因此在此整理前端大文件上传相关功能的实现. 在某些业务中,大文件上传是一个比较重要的交互场景,如上传入库比较大的Excel表 ...

  7. 文件一键上传、汉字转拼音、excel文件上传下载功能模块的实现

    ----------------------------------------------------------------------------------------------[版权申明: ...

  8. php实现文件上传下载功能小结

    文件的上传与下载是项目中必不可少的模块,也是php最基础的模块之一,大多数php框架中都封装了关于上传和下载的功能,不过对于原生的上传下载还是需要了解一下的.基本思路是通过form表单post方式实现 ...

  9. Java web文件上传下载

    [版权申明:本文系作者原创,转载请注明出处] 文章出处:http://blog.csdn.net/sdksdk0/article/details/52048666 作者:朱培 ID:sdksdk0 邮 ...

随机推荐

  1. 写给新手看的Flask+uwsgi+Nginx+Ubuntu部署教程

    学习 Flask,写完一个 Flask 应用需要部署的时候,就想着折腾自己的服务器.根据搜索的教程照做,对于原理一知半解,磕磕碰碰,只要运行起来了,谢天谢地然后不再折腾了,到下一次还需要部署时,这样的 ...

  2. 转:使用Android API最佳实践

    原文来自于:http://blog.jobbole.com/65170/ 写在前面 现在,Android应用程序中集成第三方API已十分流行.应用程序都有自己的网络操作和缓存处理机制,但是大部分比较脆 ...

  3. 启动weblogic11g一直提示<141281> <unable to get file lock, will retry ...>

    一次非正常关闭weblogic之后,再次启动时启动不成功,一直提示:<141281> <unable to get file lock, will retry ...> 解决方 ...

  4. Android 手机上安装并运行 Ubuntu 12.04(转,没实测)

    设备需要root权限,并且安装了BusyBox最小 1GHz 处理器(推荐)Android 系统版本 2.1 或以上Android 设备需要自定义的ROM固件SD卡至2.5GB (安装大映像的需要3. ...

  5. JavaScript AMD 模块加载器原理与实现

    关于前端模块化,玉伯在其博文 前端模块化开发的价值 中有论述,有兴趣的同学可以去阅读一下. 1. 模块加载器 模块加载器目前比较流行的有 Requirejs 和 Seajs.前者遵循 AMD规范,后者 ...

  6. Reverse Linked List II——LeetCode

    Reverse a linked list from position m to n. Do it in-place and in one-pass. For example:Given 1-> ...

  7. HDOJ(HDU) 2083 简易版之最短距离(中位数)

    Problem Description 寒假的时候,ACBOY要去拜访很多朋友,恰巧他所有朋友的家都处在坐标平面的X轴上.ACBOY可以任意选择一个朋友的家开始访问,但是每次访问后他都必须回到出发点, ...

  8. 2014-08-29 Last Day

    今天实在吾索实习的第38天,也是这个暑假在吾索实习的最后一天. 这天里,并有做过多的新知识的学习,而是对先前的BBS系统进行优化,从外观的优化到每一行每一句代码的优化,希望能系统有更高的效率.虽说,暑 ...

  9. DLL入门浅析(4)——从DLL中导出类

    转载自:http://www.cppblog.com/suiaiguo/archive/2009/07/20/90663.html 前面介绍了怎么从DLL中导出函数和变量,实际上导出类的方法也是大同小 ...

  10. 红米note不好用

    手感不错 拍摄效果暗,没有调好 有死机现象