`

用Java和js判断文件类型

阅读更多

九月份弄了很多东西,真正总结和可供借鉴的其实并不多,今天终于抽空来处理一下了。

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上百实例源码以及开源项目

    2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户...

    java源码包---java 源码 大量 实例

    2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户...

    java源码包4

    2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户...

    JAVA上百实例源码以及开源项目源代码

    2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户...

    java源码包3

    2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户...

    java源码包2

    2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户...

    java开源包4

    ftp4j是一个FTP客户端Java类库,实现了FTP客户端应具有的大部分功能文件(包括上传和下 载),浏览远程FTP服务器上的目录和文件,创建、删除、重命,移动远程目录和文件。ftp4j提供多种方式连接到远程FTP服务器包括...

    利用javascript判断文件是否存在

    判断客户端文件时,可以用 代码如下:var fso,s=filespec; // filespec=”C:/path/myfile.txt”fso=new ActiveXObject(“Scripting.FileSystemObject”);if(fso.FileExists(filespec))s+=” exists.”;elses+=” ...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    JavaScript万年历 显示出当前时间及年份,还可以选择年份及月份和日期 Java编写的HTML浏览器 一个目标文件 摘要:Java源码,网络相关,浏览器 Java编写的HTML浏览器源代码,一个很简单甚至不算是浏览器的HTML浏览器,...

    常用JS脚本页面判断

    3.8 文件上传过程中判断文件类型 4、字符类 4.1 判断字符全部由a-Z或者是A-Z的字字母组成 4.2 判断字符由字母和数字组成。 4.3 判断字符由字母和数字,下划线,点号组成.且开头的只能是下划线和字母 4.4 字符串...

    java文件、图片上传(表单、Ajax)

    两种提交方式,一种是表单,一种是Ajax(选择图片时直接显示出来、可进行文件类型判断和重命名),附jar,直接eclipse导入就能使用。可以改成收取文件的简单的期末作业。

    Java判断文件是否存在

    1、判断文件是否存在,不存在创建文件 Filefile=newFile&#40;"C:\Users\QPING\Desktop\JavaScript\2.htm"&#41;; if(!file.exists()) { try{ file.createNewFile&#40;&#41;; }catch(IOExceptione){ //TODOAuto...

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    JavaScript万年历 显示出当前时间及年份,还可以选择年份及月份和日期 Java编写的HTML浏览器 一个目标文件 摘要:Java源码,网络相关,浏览器 Java编写的HTML浏览器源代码,一个很简单甚至不算是浏览器的HTML浏览器,...

    Java实现的模糊匹配某文件夹下的文件并删除功能示例

    主要介绍了Java实现的模糊匹配某文件夹下的文件并删除功能,涉及java针对目录与文件的遍历、匹配、判断、删除等相关操作技巧,需要的朋友可以参考下

    Java面试宝典2020修订版V1.0.1.doc

    3、列举javaScript的3种主要数据类型,2种复合数据类型和2种特殊数据类型。 24 4、谈谈你的JS的理解? 24 5、ajax的优点? 25 6、简述一下ajax调试代码查找错误的方法? 26 7、简述ajax中Js脚本缓存问题该如何解决?...

    javascript实现限制上传文件大小

    本篇介绍一个前端JS便捷判断上传文件大小的方法。 这个是比较好的 &lt;html&gt; &lt;head&gt; &lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8"/&gt; [removed] var isIE = /msie/i.test...

    Java语言基础下载

    JavaScript和Java的区别 499 基于对象和面向对象 499 解释和编译 499 强变量和弱变量 500 静态联编和动态联编 500 实例 500 内容总结 503 独立实践 504 第二十六章:JavaScript基础 505 学习目标 505 基本结构 506 ...

    基于Java的WTS在线考试答题系统设计源码

    项目共包含1525个文件,其中Java源代码文件488个,PNG图片文件356个,JSP页面文件283个,GIF图片文件150个,JavaScript源代码文件57个,CSS样式文件38个,XML配置文件31个,以及字体文件TTF、WOFF、WOFF2各20个。...

    Java面试宝典-经典

    1、编写一个程序,将a.txt文件中的单词与b.txt文件中的单词交替合并到c.txt文件中,a.txt文件中的单词用回车符分隔,b.txt文件中用回车或空格进行分隔。 61 2、编写一个程序,将d:\java目录下的所有.java文件复制到d...

Global site tag (gtag.js) - Google Analytics