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 // ========= ...
随机推荐
- LVS工作总结之原理篇–DR模式
原文地址: http://www.chenqing.org/2012/11/%E3%80%90lvs%E3%80%91lvs%E5%B7%A5%E4%BD%9C%E6%80%BB%E7%BB%93%E ...
- linux lsof 用法简介
1.简介: lsof(list open files)是一个列出当前系统打开文件的工具. 只需输入 lsof 就可以生成大量的信息,因为 lsof 需要访问核心内存和各种文件,所以必须以 root 用 ...
- OC-弱语法
[Person test] : unrecognized selector sent to instance 给Person对象发送了一个不能识别的消息 :test
- JS原型链理解
1. 每个对象都有原型属性(__proto__)2. 对象的原型(__proto__)指向其构造函数(Class)的prototype属性3. 构造函数(Class)的prototype属性本身也是一 ...
- C语言Hello world
#include"stdio.h" void main() { printf("Hello world!\n"); }
- CF453B Little Pony and Harmony Chest (状压DP)
CF453B CF454D Codeforces Round #259 (Div. 2) D Codeforces Round #259 (Div. 1) B D. Little Pony and H ...
- 2015年12月01日 GitHub入门学习(一)GitHub简介
序:Github理念是Social Coding(社会化编程).octocat是它的吉祥物. 一.Github与Git的区别与联系 区别:GIT是仓库,Github是提供一种将代码提交到Git仓库的服 ...
- bzoj1179 [Apio2009]Atm
Description Input 第一行包含两个整数N.M.N表示路口的个数,M表示道路条数.接下来M行,每行两个整数,这两个整数都在1到N之间,第i+1行的两个整数表示第i条道路的起点和终点的路口 ...
- java httpclient发送json 请求 ,go服务端接收
/***java客户端发送http请求*/package com.xx.httptest; /** * Created by yq on 16/6/27. */ import java.io.IOEx ...
- java 练手 Fibonacci数
Problem B Fibonacci数 时间限制:3000 ms | 内存限制:65535 KB 描述 无穷数列1,1,2,3,5,8,13,21,34,55...称为Fibonacci数列 ...