JQUERY UI DOWNLOAD
JQUERY UI DOWNLOAD
jDownload是jQuery的一个下载插件,用户可以在下载文件之前知道文件的详细信息,在提高用户体验度方面起到了很大的作用。
鉴于官网的Demo是通过PHP文件来获取资源信息,对于ASP.NET开发人员来说不是很容易理解,所以本人写了一个ASP.NET的版本希望对jQuery有爱的童鞋们有所帮助。
一、首先添加一个测试页面Default.aspx,引用测试脚本和样式。

<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.0/themes/base/jquery-ui.css"/>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.1/jquery-ui.min.js"></script>
<link rel="stylesheet" href="/jquery.jDownload.css"/>
<script type="text/javascript" src="/jquery.jDownload.js"></script>
<script type="text/javascript">
$(document).ready(function() {
/* basic usage */
$('.download').jDownload();
});
</script>

在body里添加测试代码

<div>
<p>
<a href="images/hubble1.jpg" class="download" title="这是图片1">Download here</a></p>
<p>
<a href="images/hubble2.jpg" class="download" title="这是图片2">Download here</a></p>
<p>
<a href="images/hubble3.jpg" class="download" title="这是图片3">Download here</a></p>
<a id="download" class="download" href="ReportTemplates/测试.xls">导出</a>
</div>

二、添加一个提供获取信息及下载用的页面jdownload.aspx,在cs文件中编写以下代码。

1 using System;
2 using System.IO;
3 using System.Runtime.Serialization;
4 using System.Runtime.Serialization.Json;
5 using System.Text;
6 using System.Web;
7
8 namespace JDownload
9 {
10 public partial class jdownload : System.Web.UI.Page
11 {
12 string action = string.Empty;
13 string path = string.Empty;
14
15 protected void Page_Load(object sender, EventArgs e)
16 {
17 action = Request.QueryString["action"];
18 path = Server.UrlDecode(Request.QueryString["path"]);
19
20 if (!String.IsNullOrEmpty(path))
21 {
22 switch (action)
23 {
24 case"download":
25 GetFile(path);
26 break;
27
28 case"info":
29 GetInfo(path);
30 break;
31 }
32 }
33 Response.Write(GetJson(new MyFileInfo() { Error ="error" }));
34 Response.End();
35 }
36
37 private void GetFile(string path)
38 {
39 // get file info
40 FileInfo fi =new FileInfo(Server.MapPath(path));
41 string fileName = fi.Name;//客户端保存的文件名
42 string filePath = Server.MapPath(path);//路径
43 //以字符流的形式下载文件
44 FileStream fs =new FileStream(filePath, FileMode.Open);
45 byte[] bytes =newbyte[(int)fs.Length];
46 fs.Read(bytes, 0, bytes.Length);
47 fs.Close();
48 Response.ContentType ="application/octet-stream";
49 //通知浏览器下载文件而不是打开
50 Response.AddHeader("Content-Disposition", "attachment; filename="+ HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
51 Response.BinaryWrite(bytes);
52 Response.Flush();
53 Response.End();
54 }
55
56 private void GetInfo(string path)
57 {
58 // get file info
59 FileInfo fi =new FileInfo(Server.MapPath(path));
60 MyFileInfo myFileInfo =new MyFileInfo()
61 {
62 FileName = fi.Name,
63 FileType = fi.Extension,
64 FileSize = (fi.Length /long.Parse("1024")).ToString(),
65 Error ="null"
66 };
67 Response.Write(GetJson(myFileInfo));
68 Response.End();
69 }
70
71
72 public static string GetJson<T>(T obj)
73 {
74 DataContractJsonSerializer json =new DataContractJsonSerializer(typeof(T));
75 using (MemoryStream ms =new MemoryStream())
76 {
77 json.WriteObject(ms, obj);
78 string szJson = Encoding.UTF8.GetString(ms.ToArray());
79 return szJson;
80 }
81 }
82
83 [DataContract]
84 class MyFileInfo
85 {
86 [DataMember]
87 public string FileName { get; set; }
88 [DataMember]
89 public string FileType { get; set; }
90 [DataMember]
91 public string FileSize { get; set; }
92 [DataMember]
93 public string Error { get; set; }
94 }
95 }
96 }

三、注意事项
在使用 System.Runtime.Serialization.Json 时需要引用System.ServiceModel.Web的DLL
源码下载Click Me
JQUERY UI
jqGrid search oper
posted @ 2011-09-08 11:20 风来之东林| 编辑
jQuery UI Download
posted @ 2011-03-11 13:17 风来之东林 阅读(1255) | 评论 (1) 编辑
jQuery UI Multiselect
posted @ 2011-01-05 16:59 风来之东林 阅读(868) |评论 (0) 编辑
JQUERY UI DOWNLOAD的更多相关文章
- Asp.net mvc 添加Jquery UI
1.使用NuGet下载jquery ui Install-Package jQuery.UI.Combined 2.下载多语言文件: development-bundle/i18n目录下是jquery ...
- jquery------导入jquery UI要使用的文件
JQuery版本下载地址:http://jquery.com/download/ JQuer UI两个主要下载地址:http://jqueryui.com/download/ 只需要里面的jquer ...
- Web 在线文件管理器学习笔记与总结(6)jQuery UI 预览图片
① 查看文件内容,如果文件是图片类型,点击直接查看图片: ② 如果不是图片类型,显示文件中的内容: ③ 使用 jQuery UI 中的 Dialog 显示图片 a.引入: <script src ...
- jQuery UI vs EasyUI
几个UI框架的比较k: 目前工作中可能会常用到几个UI框架,如 Ext: http://docs.sencha.com/ext-js/4-1/#!/example 感觉其过于复杂,性能不高,所以一直没 ...
- Jquery UI的datepicker插件使用方法
原文链接;http://www.ido321.com/375.html Jquery UI是一个非常丰富的Jquery插件,并且UI的各部分插件可以独自分离出来使用,这是其他很多Jquery插件没有的 ...
- jQuery UI dialog 的使用
今天用到了客户端的对话框,把 jQuery UI 中的对话框学习了一下. 准备 jQuery 环境 首先,我们创建一个按钮,点击这个按钮的时候,将会弹出一个对话框. 1 <input type= ...
- Jquery UI的datepicker插件使用
原文链接;http://www.ido321.com/375.html Jquery UI是一个非常丰富的Jquery插件,而且UI的各部分插件能够独自分离出来使用.这是其它非常多Jquery插件没有 ...
- jQuery UI Datepicker&Datetimepicker添加 时-分-秒 并且,判断
jQuery UI Datepicker时间(年-月-日) 相关代码: <input type="text" value="" name="ad ...
- Jquery ui datepicker 设置日期范围,如只能隔3天
最近的后台项目前端使用了jquery ui 日历控件自然就使用了jquery ui 的 datepicker 后台数据比较好大,一般是千万级的和百万级的关联,查询会很慢,所以后加想多加些过滤条件, ...
随机推荐
- Swift学习笔记(一)搭配环境以及代码运行成功
原文:Swift学习笔记(一)搭配环境以及代码运行成功 1.Swift是啥? 百度去!度娘告诉你它是苹果最新推出的编程语言,比c,c++,objc要高效简单.能够开发ios,mac相关的app哦!是苹 ...
- 异步编程(Async和Await)的使用
.net4.5新特性之异步编程(Async和Await)的使用 一.简介 首先来看看.net的发展中的各个阶段的特性:NET 与C# 的每个版本发布都是有一个“主题”.即:C#1.0托管代码→C#2. ...
- vs2005中的WebBrowser控件的简单应用
原文:vs2005中的WebBrowser控件的简单应用 这个控件被封装了一下,和以前的调用方式稍有不同.事件还是那几个,变化不大.方法变了不少.从网上能查到的资料不多,贴出一些代码来作参考.看看这段 ...
- ActivityLifeCycle官方demo分解
1.左右Activity生命周期的若干条款: p=330">http://1.duoinfo.sinaapp.com/? p=330 http://1.duoinfo.sinaapp. ...
- 一个意想不到的CDO.Message 错误
原文:一个意想不到的CDO.Message 错误 几个月之前,写了一个服务从MSMQ取消息发群发邮件的程序,一直也没时间测试,今日一试,出现发送邮件时报错,异常情况如下: "Syst ...
- Thrift实现C#通讯服务程序
Thrift初探:简单实现C#通讯服务程序 好久没有写文章了,由于换工作了,所以一直没有时间来写博.今天抽个空练练手下~最近接触了下Thrift,网上也有很多文章对于Thrift做了说明: ...
- js获取编辑框游标的位置
代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w ...
- AMDBarUtility Update Ditection Page
Current version is : #################### #060901# #################### DO NOT REPLY!!!
- 非接触式电子音乐控制器CHIMAERA
本篇文章,我将介绍个有意思的设备. 她就是Chimaera,一个基于电磁场效应的非接触式电子音乐控制器. <弹奏Chimaera的声音> 霍尔效应传感器阵列及其周围部件组成了一个连续的2D ...
- jquery 移动端轮播图
<div class="slide"> <div class="slide-box"> <ul class="slide ...