jQuery FileUpload等插件的使用实例
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"
});
4、BlockUI
详细用法参见jQuery BlockUI Plugin
注:可以对浏览器页面或某一元素添加遮罩,需要注意的是,当多个元素共享同一msg(div)可能会出现问题,解决方法是为每个元素添加单独的msg(div)。
jQuery FileUpload等插件的使用实例的更多相关文章
- jquery如何自定义插件(扩展实例/静态方法)
1.jquery插件的种类: 1).封装对象方法的插件(相当于实例方法) (使用 $.fn.extend({"方法名":function(参数){//方法体} }) ) 2).封装 ...
- java版-JQuery上传插件Uploadify使用实例
摘自:http://itindex.net/detail/47160-java-jquery-%E4%B8%8A%E4%BC%A0 运行效果: 包结构图: 后台JAVA逻辑: package com. ...
- jquery.fileupload插件的简易使用日志
来源:http://yixiandave.iteye.com/blog/1897330 本文内容主要包含fileupload插件传递参数和取回服务器返回数据的方法 jquery.fileupload官 ...
- 使用jQuery.FileUpload插件和Backload组件裁剪上传图片
□ 思路 1.自定义控制器继承Backload的默认控制器BackloadController2.自定义一个jQuery File Upload初始化js文件,使用自定义控制器的方法3.在视图页面调用 ...
- jQuery File Upload 单页面多实例的实现
jQuery File Upload 的 GitHub 地址:https://github.com/blueimp/jQuery-File-Upload 插件描述:jQuery File Upload ...
- 关于jquery.fileupload结合PHP上传图片的开发用法流程
这阵子做了一个项目,涉及到了图片上传,以往用的都是uploadify这个插件,感觉它在PC上的使用还是很强大的, 不过最近这个项目涉及到了移动端的上传,其实uploadify也可以,但是他有一个 up ...
- jQuery为开发插件提拱了两个方法:jQuery.fn.extend(); jQuery.extend();
jQuery为开发插件提拱了两个方法,分别是: jQuery.fn.extend(); jQuery.extend(); jQuery.fn jQuery.fn = jQuery.prototype ...
- 分享22款响应式的 jQuery 图片滑块插件
响应式(Responsive)设计的目标是要让产品界面能够响应用户的行为,根据不同终端设备自动调整尺寸,带给用户良好的使用体验.这篇文章收集了22款优秀的响应式 jQuery 幻灯片插件,它们能够帮助 ...
- jQuery上定义插件并重设插件构造函数
插件alert的全部代码,每个插件都定义在如下类似的作用域中: +function ($) { 'use strict'; // ALERT CLASS DEFINITION // ========= ...
随机推荐
- struts2.3.16所需的基本的jar包---------SSH升级包不是整体全部都升级的
struts2.3.16所需的基本的jar包 jar包放多了就报Exception什么Unable to load....上网搜了半天也没有能解决的 下面所说的jar包放到WEB-INF/lib以 ...
- Python基础之【第三篇】
dir(): 默认打印当前模块的所有属性,如果传一个对象参数则打印当前对象的变量名 vars() 默认打印当前模块的所有属性,如果传一个对象参数则打印当前对象的变量名和值 reload() 将以前导入 ...
- Python之路【第十六篇续】Django进阶篇
Django请求生命周期 首先:对于所有的web框架来说本质就是一个socket服务端,浏览器是socket客户端 路由系统 在Django的urls中我们可以根据一个URL对应一个函数名来定义路由规 ...
- 使用Alcatraz来管理Xcode插件(转)
转自唐巧的博客:http://blog.devtang.com/blog/2014/03/05/use-alcatraz-to-manage-xcode-plugins/ 简介 Alcatraz是一个 ...
- Yii2.0 GridView 新增添加按钮
<?= GridView::widget([ 'dataProvider' => $dataProvider, 'filterModel' => $searchModel, 'col ...
- mysql 如何用一条SQL将一张表里的数据插入到另一张表 3个例子
1. 表结构完全一样 insert into 表1 select * from 表2 2. 表结构不一样(这种情况下得指定列名) insert into 表1 (列名1,列名2,列名3) selec ...
- oracle中的连接查询与合并查询总结
连接查询: 连接查询是指基于多张表或视图的查询.使用连接查询时,应指定有效的查询条件,不然可能会导致生成笛卡尔积.如现有部门表dept,员工表emp,以下查询因查询条件无效,而产生笛卡尔积: (各 ...
- oracle 中的round()函数、null值,rownum
round()函数:四舍五入函数 传回一个数值,该数值按照指定精度进行四舍五入运算的结果. 语法:round(number[,decimals]) Number:待处理的函数 Decimals:精度, ...
- [整理]Android开发(二)-Weather App
private class WeatherData{ private String _weatherDescription; private Integer _currentTemperature; ...
- VBA 表操作1
VBA 新建表.批量建表 例1 创建一个工作簿 注意 .name 与 .range ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ...