文件上传控件fileinput

本文介绍如何在文件上传控件fileinput中,根据文件类型展示对应的icon或图片预览。当上传文件为word、pdf时显示相应icon,图片则显示预览。关键操作在于监听filebatchselected事件,利用files信息处理文件类型判断。

需求:当上传的文件类型为word或者pdf的时候,直接显示文件的icon;为图片的时候就是图片内容的预览。
在这里插入图片描述
需要的文件依赖:

<script src="js/fileinput.min.js"></script>
<script src="js/fileinput_zh.js"></script>
<link rel="stylesheet" type="text/css"  href="css/fileinput.min.css">

引入文件的过程就不多说了,主要说下这个需求的实现:
fileinput里面的主要方法有:

方法名

参数

描述

fileerror

 

异步上传错误结果处理

$('#uploadfile').on('fileerror', function(event, data, msg) {

});

fileuploaded

 

异步上传成功结果处理

$("#uploadfile").on("fileuploaded", function (event, data, previewId, index) {

})

filebatchuploaderror

 

同步上传错误结果处理

$('#uploadfile').on('filebatchuploaderror', function(event, data, msg) {

});

filebatchuploadsuccess

 

同步上传成功结果处理

$('#uploadfile').on('filepreupload', function(event, data, previewId, index) {    

});

filebatchselected

 

选择文件后处理事件

$("#fileinput").on("filebatchselected", function(event, files) {

});

upload

 

文件上传方法

$("#fileinput").fileinput("upload");

fileuploaded

 

上传成功后处理方法

$("#fileinput").on("fileuploaded", function(event, data, previewId, index) {

});

filereset

 

 

fileclear

 

点击浏览框右上角X 清空文件前响应事件

$("#fileinput").on("fileclear",function(event, data, msg){

});

filecleared

 

点击浏览框右上角X 清空文件后响应事件

$("#fileinput").on("filecleared",function(event, data, msg){

});

fileimageuploaded

 

在预览框中图片已经完全加载完毕后回调的事件

 

所以要实现如果点击的是word或者pdf,上面显示的是文件类型的icon这个需求,应该写在选择文件之后点击确定之前操作的事件里面,也就是filebatchselected,主要代码为:

.on("filebatchselected", function(event, files) {//选择文件后处理事件
	var imgContent = $(event.target).parents(".file-input").find(".file-preview-frame");//显示内容的容器
	var fileType = files[0].name.split('.')[1];//文件类型
		if(fileType =='pdf'){
			imgContent.html('<img src="../../../include/images/pdf.png" />');
		}else if(fileType =='doc' || fileType =='docx'){
			imgContent.html('<img src="../../../include/images/word.png" />');
		}
})

event:文件上传选择框的有关信息
files:上传的文件的有关信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值