`

用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判断文件或文件夹

    在本文中,我们将详细介绍如何使用Java语言判断文件或文件夹的存在性。 一、判断文件是否存在 在Java中,可以使用File类来判断文件是否存在。File类提供了一个exists()方法,该方法返回一个布尔值,表示文件是否...

    JS判断上传文件的大小类型等限制

    本文将详细介绍如何利用JavaScript(简称JS)来实现这些功能,并与Java Server Pages (JSP)结合使用,为用户提供即时反馈。 #### 1. 基本原理 在HTML表单中,`&lt;input type="file"&gt;`元素用于让用户选择文件上传。当...

    java 上传多个文件

    5. **进度条显示**:描述中提到的“带有进度条”,这涉及到前端JavaScript技术,如使用`FormData`对象和`XMLHttpRequest`的`progress`事件,配合Ajax实现。Java端通常不直接处理进度条,而是返回一个标识文件上传...

    Java读取TXT文本文件乱码解决方案.doc

    可以通过读取文件的前几个字节来判断文件的编码格式。例如,对于 Unicode 编码,前两个字节是 FFFE,对于 UTF-8 编码,前三个字节是 EFBBBF 等。 本文提供了 Java 读取 TXT 文本文件乱码解决方案,并讨论了 TXT ...

    java判断百度地图的点是否在多边形区域内

    8. **交互式应用**:如果是在Web环境下,可能需要将这个功能整合到前端JavaScript中,通过API与后端Java服务进行交互,实现用户在地图上点击时实时判断点是否在多边形内。 通过理解以上知识点,并参考`Demo`文件中...

    获取文件类型.rar

    在编程中,例如在Node.js中,可以使用`fs`和`mimetype`库来获取文件类型: ```javascript const fs = require('fs'); const mime = require('mime-types'); fs.readFile('example.txt', 'binary', (err, data) =&gt; ...

    js判断获取jdk版本.zip_fix1op_javascript_js检测java版本_slabsyts

    `deployJava.js`是压缩包中的一个文件,很可能是一个JavaScript库,用于帮助开发者检测和处理Java环境。`deployJava.js`通常是由Oracle公司提供的,它提供了一系列API,使得网页可以通过JavaScript与Java运行时环境...

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

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

    java使用正则表达式判断手机号的方法示例

    8. java正则表达式技巧大全:文章最后还提供了几个有关于java算法相关的内容,例如《Java正则表达式技巧大全》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java...

    js java 判断中文,英文的混合长度

    根据给定文件的信息,本文将围绕“JS与Java中判断字符串中文、英文混合长度的方法”这一主题进行深入探讨。文章将分别介绍JavaScript和Java中如何处理包含中文字符和英文字符的混合字符串,并计算其等效长度。 ### ...

    Java调用Javascript.pdf

    这部分内容使用了JSObject类,它是netscape.javascript包中的一个类,用于在Java Applet中调用JavaScript对象和方法。通过调用JSObject.getWindow(this)获取当前Applet所处的浏览器窗口对象,再调用eval方法执行...

    struts2上传文件,JavaScript判断文件大小

    `file.js`和`FileUploadField.js`可能是实现文件上传功能的JavaScript脚本文件,它们可能包含了对文件选择事件的监听、文件大小检查以及上传前的其他验证。具体实现需要查看这些文件的内容来了解。 总之,Struts2的...

    java文件传输

    7. **客户端处理响应**:客户端接收服务器的响应,根据返回的状态来判断文件是否成功传输。 整个过程中,JSON作为一种轻量级的传输格式,减少了数据交换的复杂性,使得客户端和服务端之间的通信更加高效。同时,...

    java查询本地文件夹动态显示并下载文件

    通过`new File(path)`实例化`File`对象,然后可以调用`exists()`判断文件是否存在,`isDirectory()`检查是否为目录,`listFiles()`获取目录下的所有文件或子目录。 2. 文件遍历:如果你需要动态显示文件夹中的内容...

    java导出Excel文件.pdf

    在本文档中,我们将深入探讨如何使用Java技术栈实现导出Excel文件的功能。文档标题为“java导出Excel文件.pdf”,描述了从导入依赖、配置文件、前端实现到后端处理的完整流程。涉及到的技术标签包括POI、Vue、Spring...

    枚举系统文件类型的资源

    5. **JavaScript**:在浏览器环境中,JavaScript无法直接访问文件系统,但可以利用HTML5的`FileReader` API读取文件内容来判断文件类型。在Node.js环境下,可以使用`fs`模块配合`mime-types`或`file-type`等库来枚举...

    获取文件类型的源代码资源

    在Python中,我们可以使用`mimetypes`库来判断文件类型。它可以根据文件的二进制数据识别MIME类型。例如: ```python import mimetypes mime_type = mimetypes.guess_type('filename')[0] ``` 如果文件有扩展...

    javaWeb实现文件的上传和下载(可以返回上一级目录)server.zip

    确保文件名的安全性(防止路径遍历攻击),验证上传文件的类型和大小,以及防止敏感文件被下载,都是必要的安全措施。 综上所述,实现这个项目需要掌握JavaWeb基础、文件I/O操作、HTTP协议、文件上传下载机制、文件...

    java源码包3

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

    java开源包4

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

Global site tag (gtag.js) - Google Analytics