jQuery FileUpload 插件
阿萨 2018-03-23 来源 :网络 阅读 2240 评论 0

摘要:在前端开发过程中,我们经常要上传文件,这是我们就要用 这是原生的写法,看起来不是很美观。下面我们聊一种比较优雅的jQuery实现方法。

在前端开发过程中,我们经常要上传文件,这是我们就要用 <input type="file" name="file">这是原生的写法,看起来不是很美观。下面我们聊一种比较优雅的jQuery实现方法。

上传文件

首先,我们隐藏的input框,并将input框的click事件绑定到它上面的button元素上(通过onclick="$(this).next().click()"实现),这样我们就可以按照我们自己的喜好来设置button的样式,同时也达到了上传文件的功能。

<button type="button" onclick="$(this).next().click()">

    <i class="fa fa-upload mr-sm" aria-hidden="true"></i><span>导入</span>

</button>

 

<input type="file" name="file" style="display:none">

 

fileupload 事件

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

引入相关插件

fileupload插件是必须的,fileupload-process负责处理上传过程中各个事件的管理,fileupload-validate则是对验证的支持

<script src="//cdn.bootcss.com/blueimp-file-upload/9.12.5/js/jquery.fileupload.js"></script>

<script src="//cdn.bootcss.com/blueimp-file-upload/9.12.5/js/jquery.fileupload-process.js"></script>

<script src="//cdn.bootcss.com/blueimp-file-upload/9.12.5/js/jquery.fileupload-validate.js"></script>

使用插件

我们可以对上传文件的大小和文件类型进行验证,并通过messages设置验证失败时的提示信息。

 $('input[name="file"]').fileupload({

 

       url: '上传地址',

       Type: "POST",

       autoUpload: true,

       acceptFileTypes:/\.(doc|docx)$/i,// 文件格式

       maxFileSize: 99 * 1024 * 1024, //文件大小

       

       // 设置验证失败的提示信息

       messages: {

       maxFileSize: 'File exceeds maximum allowed size of 99MB',

       acceptFileTypes: 'File type not allowed'

       },

       

       processfail: function (e, data) {

           var currentFile = data.files[data.index];

           if (data.files.error && currentFile.error) {

               // there was an error, do something about it

               console.log(currentFile.error);

           }

       },

       

       done: function() {

          // 上传成功的回调函数,可以弹出“上传成功”之类的弹框

       },

       fail: function() {

          // 上传失败的回调函数,可以弹出“上传失败”之类的弹框

       },

 

     })

 

希望这篇文章可以帮助到你。总之,同学们,你想要的职坐标IT频道都能找到!

本文由 @阿萨 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程