九月份弄了很多东西,真正总结和可供借鉴的其实并不多,今天终于抽空来处理一下了。
1、根据文件类型设置缩略图(java版)
/**
* 该方法用来判断文件类型,并返回image标签字符串
* @param fileId:文件序号
* @param fileName:文件名称
* @param filePath:文件路径
* */
private String getImgCode(String fileId,String fileName,String filePath){
String preFix="images/icon/fileIcon/",path="txt.png",imgStr="";
if(fileName!=null && fileName.length()>0){
fileName = fileName.trim();
String sufFux=fileName.substring(fileName.lastIndexOf(".")+1);
sufFux = sufFux.toLowerCase();//全部转换成小写
if(sufFux.endsWith("jpg") || sufFux.endsWith("gif") ||
sufFux.endsWith("png") || sufFux.endsWith("jpeg") ||
sufFux.endsWith("bmp")){
path = "pic.png";
if(filePath!=null && filePath.trim().length()>0){//说明路径存在
filePath = filePath.replaceAll("\\\"", "/");
//System.out.println("文件路径:"+filePath);
File file = new File(filePath);
if(file.exists()){
preFix="";//使用自己的路径,不需要加前缀
path = filePath;
}
}
}else if(sufFux.endsWith("doc") || sufFux.endsWith("docx")){
path ="word.png";
}else if(sufFux.endsWith("xls") || sufFux.endsWith("xlsx")){
path = "excel.png";
}else if(sufFux.endsWith("rar") || sufFux.endsWith("zip")){
path = "rar.png";
}
}
imgStr="<img src='"+(preFix + path)+"' title='"+fileName+"' width='78px' heigh='53px'/>";
return imgStr;
}
感觉写的不太好,想的时候没考虑清楚,譬如说应该能手动设置图片的宽和高、添加“图片找不到时的处理措施”、判断文件类型考虑有正则表达式。JS版本的这些问题都照顾了,嘎嘎。
2、根据文件类型设置缩略图(js版)
/**
* 该方法用来判断文件类型,并返回image标签字符串
* @param fileId:文件序号
* @param fileName:文件名称
* @param filePath:文件路径
* @param width:图片的宽
* @param height:图片的高
* */
function getImgCode(fileId,fileName,filePath,width,height){
var preFix="images/icon/fileIcon/";//前缀,即图片路径
var path="txt.png";//图片名称默认使用文本文件,避免“识别不了时显示空文件”的情况
var imgStr="",fileType="0";
var error=2;
if(fileName!=null && fileName.length>0){
fileName = jQuery.trim(fileName);
if((/(?:jpg|gif|png|jpeg|bmp)$/i.test(fileName))){
path = filePath;
preFix="";
error=1;
fileType="1";
}else if((/(?:doc|docx)$/i.test(fileName))){
path ="word.png";
fileType="2";
}else if((/(?:xls|xlsx)$/i.test(fileName))){
path = "excel.png";
fileType="3";
}else if((/(?:rar|zip)$/i.test(fileName))){
path = "rar.png";
fileType="4";
}
}
var errorStr="onerror='nofind(this,"+error+");'";//error=1时,表示是图片文件不见了,=2表示其他文件类型不见了
imgStr="<img src='"+(preFix + path)+"' title='"+fileName+"' width='"+width+"px' heigh='"+height+"px' "+errorStr+" fileType='"+fileType+"'/>";
return imgStr;
}
/**
* 加载图片时若出现错误,调用该方法
* @param obj:当前image标签本身
* @param flag:1-图片文件 2-其他类型文件
*/
function nofind(obj,flag){
var path="txt.png";//找不到文件时也用文本文件表示
if(flag==1){
path = "pic.png";
}
$(obj)[0].src="images/icon/fileIcon/"+path;
$(obj)[0].onerror=null; //控制不要一直跳动
}
3、java获取文件后缀名:
/***
* 获取文件类型,后缀名
* @param fileName
* @return
*/
public String getFileExt(String fileName){
String value = new String();
int start = 0;
int end = 0;
if(fileName == null)
return null;
start = fileName.lastIndexOf(46) + 1;
end = fileName.length();
value = fileName.substring(start, end);
if(fileName.lastIndexOf(46) > 0)
return value;
else
return "";
}

本文介绍了如何根据文件类型自动生成对应的图标展示,包括Java和JavaScript两种实现方式。Java版本通过文件后缀名识别文件类型并设置预览图标,而JavaScript版本在此基础上增加了更多功能,如手动设置图片尺寸及错误处理。
1019

被折叠的 条评论
为什么被折叠?



