大家好,又见面了,我是你们的朋友全栈君。
需求:当上传的文件类型为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”).
|
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:上传的文件的有关信息
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/140987.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...