1、jQuery FileUpload

需要的js:

jquery.js

jquery.fileupload.js

jquery.iframe-transport.js

jquery.xdr-transport.js

html:

<div id="divAdd" title="添加"><div>+</div><input id="fileUpload" type="file" /></div>

CSS:

/*
* 选择文件按钮样式
*/
#fileUpload {
position: absolute;
top:;
right:;
margin:;
opacity:;
-ms-filter: 'alpha(opacity=0)';
direction: ltr;
cursor: pointer;
width:100px;
height:100px;
}
/* Fixes for IE < 8 */
@media screen\9 {
#fileUpload {
filter: alpha(opacity=0);
}
} /*
* 其他样式
*/
#divAdd
{
border:1px solid #ccc;
width:99px;
height:99px;
text-align:center;
font-size:40px;
margin:17px 5px 10px 5px;
cursor: pointer;
position: relative;
overflow:hidden;
}
#divAdd div
{
margin-top:18%;
}

js初始化:

  function initUploadDlg()
{
$("#fileUpload").fileupload({
url: "/WealthManagement/WFC/FileUpload.aspx",
dataType: 'json',
add: function (e, data) {
var fileName = data.files[0].name;
var fileType = fileName.substr(fileName.lastIndexOf(".") + 1);
// 可以通过data.files[0].size获取文件大小 $.blockUI({
message: $("#downloadMsg")
});
title = fileName.substring(fileName.lastIndexOf('\\') + 1, fileName.lastIndexOf('.'));
$("#fileUpload").fileupload(
'option',
'formData',
{'title': title, 'validDate': '', 'windcode': pageBaseInfo.Windcode}
); // 传参不能放在初始化语句中,否则只能传递参数的初始化值
data.submit();
},
progress: function (e, data) {
var progress = parseInt(data.loaded / data.total * 100, 10);
$("#downloadMsg").html('已上传' + progress + '%');
if(progress == '100')
{
$("#downloadMsg").html('处理中...');
}
},
done: function (e, data) {
var res = data.result.Response;
if(res && res.Status == 0)
{
// 更新文件列表
updateFundFiles();
}
else
{
alert(res ? res.Message : "上传失败,请重试!");
}
$.unblockUI();
}
});

后台代码(HttpHandler.cs)

    public class FileUploadHandler : IHttpHandler
{
public override void ProcessRequest(HttpContext context)
{
FileUploadResponse res = new FileUploadResponse(); try
{
// 获取文件流
HttpFileCollection files = context.Request.Files;
if (files.Count > )
{
// 获取相关参数的方法
string title = context.Request["title"];
string validDate = context.Request["validDate"];
string windcode = context.Request["windcode"] ; string path = FundIntroductionBiz.tempFilePath;
if (!Directory.Exists(path))
{
Directory.CreateDirectory(path);
}
string fileName = windcode + "_" + DateTime.Now.ToString("yyyyMMddHHmmss") + System.IO.Path.GetExtension(files[].FileName);
string fullPath = path + fileName;
files[].SaveAs(fullPath); res.Response.Status = ;
res.Response.Message = "上传成功!";
}
}
catch (Exception ex)
{
res.Response.Status = ;
res.Response.Message = ex.Message;
} context.Response.Write(JsonHelper.ToJson(res));
context.Response.End();
}
} /// <summary>
/// 文件上传响应实体类
/// </summary>
public class FileUploadResponse
{
public FileUploadEntity Response { get; set; } public FileUploadResponse()
{
Response = new FileUploadEntity();
} /// <summary>
/// 返回信息实体类
/// </summary>
public class FileUploadEntity
{
/// <summary>
/// 0:上传成功,1:上传失败, 2:程序异常
/// </summary>
public int Status { get; set; } /// <summary>
/// 详细信息
/// </summary>
public string Message { get; set; }
}
}

注:上传按钮的样式采用的方式为,将input定位在所需按钮之上,并设为透明。

详细参数jQuery-File-Upload Options

2、Dialog

文件删除对话框实例:

<div id="fileAlert" class="dialog" title="<div class='ui-dialog-main'><img src='../resource/images/FundIntroduction/main.jpg' /></div><div class='ui-titlebar-title'>文件删除</div>">
<div style="margin:15px 20px;">确定删除文件“<span>华安物联网主题基金</span>”?</div>
<div style="height:30px;">
<div style="float:left; margin-left:15px;"><input type="button" value="确定" onclick="deleteFileAlert(1)" /></div>
<div style="float:right; margin-right:15px;"><input type="button" value="取消" onclick="deleteFileAlert(0)" /></div>
</div>
</div>

初始化:

function initDeleteDlg()
{
$("#fileAlert").dialog({
resizable: false,
height: 120,
autoOpen: false,
modal: true
});
}

注:可以通过title属性定制dialog的标题栏

详细参数jQueryUi Dialog

3、Datepicker

选择某一日期的实例:

    $("#validDate").datepicker({
dayNamesMin: ["日", "一", "二", "三", "四", "五", "六"],
monthNamesShort: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"],
showMonthAfterYear: true,
dateFormat: 'yy-mm-dd',
changeYear: true,
changeMonth: true,
minDate: 0,
prevText: "上月",
nextText: "下月",
yearRange: "1991:2035"
});

详细参数jQuery Datepicker Plugin

4、BlockUI

详细用法参见jQuery BlockUI Plugin

注:可以对浏览器页面或某一元素添加遮罩,需要注意的是,当多个元素共享同一msg(div)可能会出现问题,解决方法是为每个元素添加单独的msg(div)。

jQuery FileUpload等插件的使用实例的更多相关文章

  1. jquery如何自定义插件(扩展实例/静态方法)

    1.jquery插件的种类: 1).封装对象方法的插件(相当于实例方法) (使用 $.fn.extend({"方法名":function(参数){//方法体} }) ) 2).封装 ...

  2. java版-JQuery上传插件Uploadify使用实例

    摘自:http://itindex.net/detail/47160-java-jquery-%E4%B8%8A%E4%BC%A0 运行效果: 包结构图: 后台JAVA逻辑: package com. ...

  3. jquery.fileupload插件的简易使用日志

    来源:http://yixiandave.iteye.com/blog/1897330 本文内容主要包含fileupload插件传递参数和取回服务器返回数据的方法 jquery.fileupload官 ...

  4. 使用jQuery.FileUpload插件和Backload组件裁剪上传图片

    □ 思路 1.自定义控制器继承Backload的默认控制器BackloadController2.自定义一个jQuery File Upload初始化js文件,使用自定义控制器的方法3.在视图页面调用 ...

  5. jQuery File Upload 单页面多实例的实现

    jQuery File Upload 的 GitHub 地址:https://github.com/blueimp/jQuery-File-Upload 插件描述:jQuery File Upload ...

  6. 关于jquery.fileupload结合PHP上传图片的开发用法流程

    这阵子做了一个项目,涉及到了图片上传,以往用的都是uploadify这个插件,感觉它在PC上的使用还是很强大的, 不过最近这个项目涉及到了移动端的上传,其实uploadify也可以,但是他有一个 up ...

  7. jQuery为开发插件提拱了两个方法:jQuery.fn.extend(); jQuery.extend();

    jQuery为开发插件提拱了两个方法,分别是: jQuery.fn.extend(); jQuery.extend(); jQuery.fn jQuery.fn = jQuery.prototype ...

  8. 分享22款响应式的 jQuery 图片滑块插件

    响应式(Responsive)设计的目标是要让产品界面能够响应用户的行为,根据不同终端设备自动调整尺寸,带给用户良好的使用体验.这篇文章收集了22款优秀的响应式 jQuery 幻灯片插件,它们能够帮助 ...

  9. jQuery上定义插件并重设插件构造函数

    插件alert的全部代码,每个插件都定义在如下类似的作用域中: +function ($) { 'use strict'; // ALERT CLASS DEFINITION // ========= ...

随机推荐

  1. iOS静态库小结--(yoowei)

    准备知识: 1.什么是库? 库是程序代码的集合,是共享程序代码的一种方式 2.根据源代码的公开情况,库可以分为2种类型 a.开源库 公开源代码,能看到具体实现 ,比如SDWebImage.AFNetw ...

  2. Java多线程编程核心技术---Java多线程技能

    基本概念 进程是操作系统结构的基础,是一次程序的执行,是一个程序及其数据结构在处理机上顺序执行时所发生的活动,是程序在一个数据集合上运行的过程,是系统进行资源分配和调度的独立单位.线程可以理解成是在进 ...

  3. C语言打乱一组数字顺序

    #include<stdio.h> #include<stdlib.h> #include<math.h> #include<time.h> int m ...

  4. 【转】flume+kafka+zookeeper 日志收集平台的搭建

    from:https://my.oschina.net/jastme/blog/600573 flume+kafka+zookeeper 日志收集平台的搭建 收藏 jastme 发表于 10个月前 阅 ...

  5. Nginx中的rewrite指令

    转自:http://www.76ku.cn/articles/archives/317 rewite.在server块下,会优先执行rewrite部分,然后才会去匹配location块server中的 ...

  6. 基本select语句的生命周期

    (1) 客户端sqlserver网络接口通过一种网络协议(可以是共享内存:简单高速,客户端和sql server在同一台计算机默认连接方式:TCP/IP:访问sql server最常用的一种协议,客户 ...

  7. Tomcat 部署详解

    前篇大概讲过了tomcat的发布和部署,以及测试. 本篇详细介绍下tomcat的部署相关的内容,本篇主要内容: 1 介绍下部署相关的内容,需要安装的文件以及上下文描述符 2 静态部署——在tomcat ...

  8. 收到的电邮附件为Winmail.dat?

    以下信息来源于微软帮助中心:您收到电子邮件,其中包含一个 winmail.dat 的附件.电子邮件被人使用的 Microsoft Outlook 发送给您.该邮件的格式是丰富文本格式 (RTF). 原 ...

  9. codevs5164 逆波兰表达式

    题目描述 Description 逆波兰表达式是一种把运算符前置的算术表达式(又叫前缀表达式),例如普通的表达式2 + 3的逆波兰表示法为+ 2 3.逆波兰表达式的优点是运算符之间不必有优先级关系,也 ...

  10. QS2016年全球高等教育系统实力排名 中国排名世界第八亚洲第一

    2016年5月18日,QS发布"2016年全球高等教育系统实力排名",中国在此榜单表现优异,排名世界第八亚洲第一. 排名指标 排名指标及计算方法如下: 系统实力:QS大学排名前70 ...