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)
上一篇 2022年6月15日 下午9:16
下一篇 2022年6月15日 下午9:36


相关推荐

  • vscode怎么新建vue项目

    vscode怎么新建vue项目1 确认必要环境已安装 vscode 和 nodejs 必须安装好 vscode 下载地址 https code visualstudio com Downloadnode 下载地址 https nodejs org en download 这里写自定义目录标题 2 在本地创建一个存放工程的目录我这里放到 d usr myvue3 使用 vscode 打开上一步创建的文件夹 4 安装 vue clivue cli 可以帮助我们快速构建 vue 项目 打开终端 gt 新建终端执行命令 npmins

    2026年3月17日
    2
  • 百度地图BMap

    百度地图BMapid container nbsp nbsp nbsp varmap newBMap Map container 创建地图容器 nbsp nbsp nbsp varpoint newBMap Point 116 404 39 915 创建一个点 nbsp nbsp nbsp map centerAndZoo point 15 设立中心点和地图级别 就是初始化地图 nbsp nbsp nbsp varmyLabe

    2026年3月16日
    2
  • b站超过1000万粉丝的up主(b站第一位千万up主)

    前几天一位好朋友入了B站,问我如何才能成为一名百万粉丝的up主。这不,于是我做了这篇的一些分析,知道了成为百万粉丝up主的一些小秘密。还做了一个昵称生成器,给其昵称起名提供建议。这是她的b站视频截图:关于昵称起名我的想法是这样,是我们把B站这些百万粉丝大佬的昵称分析一下成分构成,根据相关性随机起个名,是不是就有百万粉丝up主昵称的那味了?上面截图是她改名前的昵称,是否会改名,改名后叫什么咱们拭目以待。咱们现在就开始爬取整整:B站up主信息爬取直接通过b站首页去爬是很不方便的,这里我找到了两个第

    2022年4月18日
    298
  • POI 使用常见问题

    POI 使用常见问题

    2020年11月19日
    204
  • Mac 卸载Java「建议收藏」

    Mac 卸载Java「建议收藏」Mac彻底卸载Javamac上终端安装了太多的JavaJDK版本,计划全部删除,重新安装最新版本JDK。打开终端输入以下命令://1、移除JavaAppletPlugin.plugin与JavaControlPanel.prefpanesudorm-fr/Library/Internet\Plug-Ins/JavaAppletPlugin.pluginsudorm-fr/Library/PreferencesPanes/JavaControlPanel.prefpane

    2022年5月19日
    85
  • java中long转integer_long(Long)与int(Integer)之间的转换

    java中long转integer_long(Long)与int(Integer)之间的转换最近由于在做一个众筹的项目 其中有一个查找项目支持数的接口 查找的方法定义的是一个 long 型的 我更新项目中的支持数的时候是 int 型的 所以需要在 long 型与 int 型之间转化 下面把转转化的详细方法记录一下 以便后面总结学习 一 将 long 型转化为 int 型 这里的 long 型是基础类型 longa 10 intb int a 二 将 Long 型转换为 int 型的 这里的 Lo

    2026年3月19日
    0

发表回复

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

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