jquery-uploadfile的使用「建议收藏」

jquery-uploadfile的使用「建议收藏」jQueryFileUpload是一个Jquery文件上传组件,支持多文件上传、取消、删除,上传前缩略图预览、列表显示图片大小,支持上传进度条显示;支持各种动态语言开发的服务器端。官网链接:点击打开链接特点:拖放支持;上传进度条;图像预览;可定制和可扩展的;兼容任何服务器端应用平台(PHP,Python,RubyonRails,Java,Node.js,Goetc.)。使用方…

大家好,又见面了,我是你们的朋友全栈君。

jQuery File Upload 是一个Jquery文件上传组件,支持多文件上传、取消、删除,上传前缩略图预览、列表显示图片大小,支持上传进度条显示;支持各种动态语言开发的服务器端。

官网链接:

点击打开链接

特点:拖放支持;上传进度条;图像预览;可定制和可扩展的;兼容任何服务器端应用平台(PHP, Python, Ruby on Rails, Java, Node.js, Go etc.)。

使用方法:

1. 需要加载的js文件:

<script src="/static/js/vendor/jquery.ui.widget.js"></script>
<script src="/static/js/vendor/jquery.iframe-transport.js"></script>
<script src="/static/js/vendor/jquery.fileupload.js"></script>
<script src="/static/js/vendor/jquery.fileupload-process.js"></script>
<script src="/static/js/vendor/jquery.fileupload-validate.js"></script>
<script src="/static/js/vue-components/ft.attach.js"></script>

2. html代码:

<div style=”padding:10px 5px;”>

                        <input type=”hidden” id=”jyid” value=”${(jy.id)!”}”>

<input type=”file” name=”file” id=”upload” multiple>
<div id=”progress”>(此处为上传进度条)
   <div class=”bar” style=”width: 0%;height: 4px;background: green;”></div>
</div>

<div class=”profile-info-row” id=”tblist”>

</div>

3. js代码:

$(“upload“).fileupload({

url: ‘upload’,
type: ‘POST’,
maxNumberOfFiles: 10,//最大上传文件数目
maxFileSize: 100000000,//文件不超过100M
dataType: ‘json’,//期望从服务器得到json类型的返回数据
sequentialUploads: true,//是否队列上传
   progressall: function (e, data) {

       var progress = parseInt(data.loaded / data.total * 100, 10);
       top.$(‘#progress .bar’).css(
           ‘width’,
           progress + ‘%’
       );
   }, 
done: function (e, data) {

tips(“上传成功”,’success’);
           loadTb();
},
   processfail: function (e, data) { //失败
       tips(‘出错’,’error’);
   }

});  

//文件上传前触发事件
   uploader.bind(‘fileuploadsubmit’, function (e, data) {

       data.formData = { jyid: $(“#jyid”).val() }; //如果需要额外添加参数可以在这里添加 

   });


4.API

4.1 Initialization:

在上传按钮上调用fileupload()方法;

示例:

$('#fileupload').fileupload();

4.2 Options :

1: url:请求发送的目标url

Type: string

Example: ‘/path/to/upload/handler.json’

2.Type: 文件上传HTTP请求方式,可以选择“POST”,“PUT”或者”PATCH”,

默认”POST”

Type: string

Example: ‘PUT’

3. dataType:希望从服务器返回的数据类型,默认”json”

Type: string

Example: ‘json’

4. autoUpload:默认情况下,只要用户点击了开始按钮被添加至组件的文件会立即上传。将autoUpload值设为true可以自动上传。

Type: boolean

Default: true

5. acceptFileTypes:允许上传的的文件类型

Example: /(\.|\/)(gif|jpe?g|png|xlsx)$/i

6. maxFileSize: 最大上传文件大小

Example: 999000 (999KB) //单位:B

7. minFileSize:最小上传文件大小

Example: 100000 (100KB) //单位:B

8.previewMaxWidth : 图片预览区域最大宽度

Example: 100 //单位:px

4.3 Callback Options:

使用方法一:函数属性

实例:

?
1
2
3
4
5
6
7
8
9
10
11
12
$(
'#fileupload'
).fileupload({
  drop:
function
(e, data) {
  $.each(data.files,
function
(index, file) {
  alert(
'Dropped file: '
+ file.name);
  });
  },
  change:
function
(e, data) {
  $.each(data.files,
function
(index, file) {
  alert(
'Selected file: '
+ file.name);
  });
  }
  });

使用方法二:绑定事件监听函数

  实例:

?
1
2
3
$(
'#fileupload'
)
    .bind(
'fileuploaddrop'
,
function
(e, data) {

/* ... */
})
    .bind(
'fileuploadchange'
,
function
(e, data) {

/* ... */
});

每个事件名称都添加前缀:”fileupload”;

注意推荐使用第二种方法。

常用的回调函数:

1. add: 当文件被添加到上传组件时被触发

?
1
$(
'#fileupload'
).bind(
'fileuploadadd'
,
function
(e, data) {

/* ... */
});

或者$(‘#fileupload’).on(‘fileuploadadd’, function (e, data) {/* … */});

2. processalways: 当一个单独的文件处理队列结束(完成或失败时)触发

3. progressall: 全局上传处理事件的回调函数

Example:

?
1
2
3
4
5
6
7
$(
'#fileupload'
).on(
'fileuploadprogressall'
,
function
(e, data) {
//进度条显示
var
progress = parseInt(data.loaded / data.total * 100, 10);
$(
'#progress .progress-bar'
).css(
'width'
,
progress +
'%'
);
});

4. fail : 上传请求失败时触发的回调函数,如果服务器返回一个带有error属性的json响应这个函数将不会被触发。

5. done : 上传请求成功时触发的回调函数,如果服务器返回一个带有error属性的json响应这个函数也会被触发。

6. always : 上传请求结束时(成功,错误或者中止)都会被触发。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/148343.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 使用playbook安装nginx和mysql

    使用playbook安装nginx和mysql

    2021年5月31日
    133
  • Ubuntu9.04上看电影加载中文字幕乱码问题

    Ubuntu9.04上看电影加载中文字幕乱码问题最近在我的Ubuntu9.04上看电影总是加载中文字幕的时候出现乱码,后来发现是字符编码的问题,今天休假在家就写了一个小的字符转码的程序,目前来说满足我自己的需求了,代码如下:importsys,i

    2022年8月1日
    7
  • React 构建单页应用方法与实例

    React 构建单页应用方法与实例

    2021年9月15日
    43
  • 前端安全XSS和XSRF[通俗易懂]

    前端安全XSS和XSRF[通俗易懂]安全问题:常见的web前端攻击方式有哪些XSS跨站请求攻击XSRF跨站请求伪造XSS跨站请求攻击博客前端界面嵌入script脚本脚本内容:获取cookie发送到服务器(服务器配合跨域)发布博客,有人查看,可以轻松获取查看人的cookie信息XSS预防替换特殊字符。例如:<变成&It;>变成&gt,那么script就不会作为脚本执行可以使用https://www.npmjs.com/package/xss的xss工具XSRF跨站请求伪造(类似于钓鱼

    2022年5月19日
    47
  • SpringBoot整合微信登录

    SpringBoot整合微信登录文章目录 SpringBoot 整合微信登录 1 准备工作 1 1 获取微信登录凭证 1 2 配置文件 1 3 添加依赖 1 4 创建读取公共常量的工具类 1 5HttpClient 工具类 2 实现微信登录 2 1 具体流程 2 2 生成微信扫描的二维码 请求 CODE 2 3 回调 SpringBoot 整合微信登录 1 准备工作 1 1 获取微信登录凭证前往官网微信开放平台 com 完成以下步骤 注册邮箱激活完善开发者资料开发者资质认证创建网站应用 1 2 配置文件在配置文件 applicatio

    2026年1月20日
    1
  • java从入门到精通学习路线

    java从入门到精通学习路线目前 Java 在许多行业的客户端方面的应用非常多 比如 OA 邮箱 投票 金融 考试 物流 医疗 矿山等信息方面的系统 Java 开发者在这方面的需求也非常大 待遇也相当不错 工资水平可能和 Java 互联网方向的差不多 但福利和前途则非常好 因为这类工作基本上是政府事业单位及大型企业提供的 对于 java 学习 一套专业系统的 java 学习路线图是不可少的 让你从入门到精通实现系统化 nbsp 第一阶段

    2025年9月28日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号