用Java和js判断文件类型
程序员文章站
2022-03-10 22:02:21
...
九月份弄了很多东西,真正总结和可供借鉴的其实并不多,今天终于抽空来处理一下了。
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 "";
}