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 后台数据比较好大,一般是千万级的和百万级的关联,查询会很慢,所以后加想多加些过滤条件, ...
随机推荐
- CSharp设计模式读书笔记(23):模板方法模式(学习难度:★★☆☆☆,使用频率:★★★☆☆)
模板方法模式:定义一个操作中算法的框架,而将一些步骤延迟到子类中.模板方法模式使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤. 模式角色与结构: 实现代码: using System; ...
- Hack 语言学习/参考---1.1 What is Hack?
What is Hack?¶ Hack is a language for HHVM that interopates seamlessly with PHP. The barrier to entr ...
- PKU 1276 Cash Machine
<span style="color:#000099;">/* Cash Machine Time Limit: 1000MS Memory Limit: 10000K ...
- MVC 6 写法
MVC 6 一些不晓得的写法 今天在看 Scott Guthrie 的一篇博文<Introducing ASP.NET 5>,在 MVC 6 中,发现有些之前不晓得的写法,这边简单记录下, ...
- (转)迎接 Entity Framework 7
对实体框架的下一版本的开发正在顺利进行中.我在 2014 年度北美 TechEd 上第一次了解 EF 团队的工作内容,当时项目经理 Rowan Miller 讨论了 Entity Framework ...
- 探究Java中Map类
Map以按键/数值对的形式存储数据,和数组非常相似,在数组中存在的索引,它们本身也是对象. Map的接口 Map---实现Map Map.Entry--Map的内部 ...
- 使用Net.Mail、CDO组件、JMail组件三种方式发送邮件
原文:使用Net.Mail.CDO组件.JMail组件三种方式发送邮件 一.使用Net.Mail 需要服务器认证,大部分服务器端口为25. { MailMessage mailMsg = mailMs ...
- OpenSUSE 13.2安装Texlive2014+Texmaker+Lyx
(1)首先下载安装Texlive2014 地址:http://mirrors.ustc.edu.cn/CTAN/systems/texlive/Images/ 或直接下载: wget http://m ...
- C语言生成2000w行数据
最近一直抽空学习shell,脚本语言看多了多多少少有些蛋疼不适,所以捡起以前遇到的一个C语言的问题看看. 原先应该是在C++吧关注的一个帖子,楼主为了测试数据库性能需要如下形式的数据要求: 字符串长度 ...
- 用批处理编译*.sln工程
原文:用批处理编译*.sln工程 批处理是直接调用Microsoft Visual Studio 8\Common7\IDE\ 目录内的 devenv.exe ,它启动后就是IDE,提供的参数如下: ...