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 // ========= ...
随机推荐
- 使用docker exec 就可以进入container,例如:docker exec -it <container_id> /bin/bash
使用docker exec 就可以进入container,例如:docker exec -it <container_id> /bin/bash
- Using Friendly URLs in ASP.NET Web Forms
Introduction Websites often need to generate SEO friendly URLs. In ASP.NET Web Forms applications, a ...
- setObject()用法
setObject()用法 setObject(i+1,arg[i])用法与setInt(i+1,arg[i]),setString(i+1,arg[i])用法类似, 但不需指定参数类型,可以通用: ...
- MVC下分页的自定义分页一种实现
1.引言 在MVC开发中我们经常会对数据进行分页的展示.通过分页我们可以从服务端获取指定的数据来进行展示.这样既节约了数据库查询的时间也节约了网络传输的数据量.在MVC开发中使用的比较多的应该是MVC ...
- Ajax 局部刷新
方式一:function hits1(troops) { var troops = troops; var ajax=Ajax(); var url = 'xxx.php'; ...
- [js/jquery]移动端手势拖动,放大,缩小预览图片
摘要 有这样的需求需要在手机端预览图片的时候,实现图片的手势拖动,放大缩小功能.最终通过touch.js这个插件实现了效果. touch.js Touch.js是移动设备上的手势识别与事件库, 由百度 ...
- 【转】apache kafka监控系列-KafkaOffsetMonitor
apache kafka监控系列-KafkaOffsetMonitor 时间 2014-05-27 18:15:01 CSDN博客 原文 http://blog.csdn.net/lizhitao ...
- #ifdef的用法【转】
#ifdef的用法 #ifdef的用法灵活使用#ifdef指示符,我们可以区隔一些与特定头文件.程序库和其他文件版本有关的代码.代码举例:新建define.cpp文件 #include &qu ...
- Linux下的文件及文件后缀名
Linux下的文件及文件后缀名 2013-03-14 15:34 6969人阅读 评论(0) 收藏 举报 ++++++++++++++++++++++++++++++++++++++正文+++++++ ...
- Linux服务器管理: 日志管理(一)
1.日志管理介绍: a.日志服务:在CentOS6.x中日志服务以及由rsyslogd取代了原有的syslogd服务.rsyslogd日志服务更加先进,功能更多.但是不论该服务的使用,还是日子文件的格 ...