
大家好,又见面了,我是你们的朋友全栈君。
需求:当上传的文件类型为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:上传的文件的有关信息
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/140987.html原文链接:https://javaforall.cn