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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pycharm彻底卸载_pycharm如何更新

    pycharm彻底卸载_pycharm如何更新用过Windows系统的朋友应该都体验过被系统强制更新的烦恼,经常玩电脑玩着玩着就觉得网速很慢或者电脑变卡了,打开设置一看,发现是Windows系统正在更新。然后当关机的时候,选项变成了”更新并关机”和”更新并重启”,但是它更新的速度还很慢。更新完成之后打开电脑,很多人也都遇到过蓝屏或者卡死机的情况,至于原因,不得而知。实际上系统设置和控制面板里面都有暂停更新选项,但是那个时效只有一个月,之后又会…

    2022年8月25日
    3
  • notifyDataSetChanged不生效「建议收藏」

    notifyDataSetChanged不生效「建议收藏」当ListView绑定数据适配器后,数据所对应的对象重新生成,就造成了listview所对应的数据对象不对,当数据改变时notifyDataSetChange则不能生效

    2022年6月29日
    19
  • 探索Android中的Parcel机制(上)

    探索Android中的Parcel机制(上)

    2021年12月10日
    44
  • route -n命令_router.replace

    route -n命令_router.replace<router-linkclass=”icon-go”:to=”{name:’首页’}”v-if=”$route.matched[0].path==’/category'”></router-link><spanclass=”icon-go”@click=”$router.go(-1)”v-e…

    2022年10月24日
    0
  • jupyter notebook的安装与使用

    jupyter notebook的安装与使用最近由于项目需要,开始学习python,然后发现一个非常有用的python交互式编辑器,非常容易上手而且非常有用和实在,本博文是对学习jupyternotebook的一个汇总和记录,与大家一起分享!下面的内容是针对ubuntu系统的,当然,jupyternotebook在windows也是支持的。

    2022年6月8日
    24
  • 如何实现微信上制作活动链接「建议收藏」

    如何实现微信上制作活动链接「建议收藏」随着互联网的快速发展,无论是房产、装修检查、家居、家店还是商城、餐饮等行业,商家们都会用到活动预约报名,线上活动链接的制作不仅成本低,而且受众也广,可以达到快速宣传的效果。相信很多小伙伴们在微信朋友圈看到的微信活动报名链接很好奇,这种活动链接是如何实现的,希望自己也可以在微信上制作这种活动链接。    工预善其事必先利其器,在这里,咱不能不提到一个非常好用的微信活动制作神器—获客宝。这款软件的神奇之处在于,他不仅可以帮你在微信上制作活动页面,而且还可以帮你侦查到谁偷偷浏览了你的页面(悄悄来,又悄悄走,不

    2022年9月18日
    0

发表回复

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

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