如何在java后台获取file真实格式

问题描述

在前台传入一个file表单,在后台生成了.tmp的临时文件,如何获取这个文件的真实格式,坐等大神解答

解决方案

解决方案二:
文件名不是传过去了么,直接截取看后缀
解决方案三:
传入一个file表单,是文件上传吗?servlet3.0文件上传的文件真实名称获取,part为上传的文件privateStringgetFileName(Partpart){StringcontentDispositionHeader=part.getHeader("content-disposition");String[]elements=contentDispositionHeader.split(";");for(Stringelement:elements){if(element.trim().startsWith("filename")){returnelement.substring(element.indexOf('=')+1).trim().replace(""","");}}returnnull;}
解决方案四:
文件通过表单提交传过去的是.tmp格式的临时文件.真实文件名就是不知道怎么获取
解决方案五:
没有用servlet,是用的ssh框架
解决方案六:
引用4楼u010762551的回复:

没有用servlet,是用的ssh框架

ssh框架中看看文件上传的时候使用的是什么技术,其实都差不多的找到获取文件上传流的地方,将这个拿到的流文件做处理拿到具体的文件名称,然后将文件再另存到自己指定的地方。servlet文件上传的后台文件获取方法,供楼主参考Partpart=request.getPart("filename");//part为上传的文件InputStreamis=part.getInputStream();//获取文件输入流//获取文件名privateStringgetFileName(Partpart){StringcontentDispositionHeader=part.getHeader("content-disposition");String[]elements=contentDispositionHeader.split(";");for(Stringelement:elements){if(element.trim().startsWith("filename")){returnelement.substring(element.indexOf('=')+1).trim().replace(""","");}}returnnull;}//文件另存FileOutputStreamfos=newFileOutputStream("d:\file\picture\"+fileName);byte[]buf=newbyte[1024];while(is.read(buf)!=-1){fos.write(buf);}fos.flush();fos.close();is.close();

解决方案七:
Part是引用哪的包哦??
解决方案八:
servlet3.0的新特性。引用6楼u010762551的回复:

Part是引用哪的包哦??

楼主可以参考commons-fileupload的文件上传servlet3.0的文件上传实际是对commons-fileupload的文件上传做了进一步的封装,使用起来更简便了
解决方案九:
filename.endWith(".你的文件格式")//这个不可以?
解决方案十:
http://yunnanwcj.blog.163.com/这是我的个人博客整理的一些各种编程的学习笔记大家可以看看都是很大Java和各种编程语言的学习资料互相多多交流多多指点不喜勿喷谢谢

时间: 2024-12-11 10:02:22

如何在java后台获取file真实格式的相关文章

java 后台获取mybatis自增主键

问题描述 java 后台获取mybatis自增主键 现在java后台执行insert操作想获取 mybatis里这条插入语句的自增主键 SELECT LAST_INSERT_ID() AS source_id insert into tenke_pick_resource (url path name size heightwidthformatstatus) values (#{urljdbcType=VARCHAR} #{pathjdbcType=VARCHAR} #{namejdbcTyp

关于java后台获取@requestbody和@Parameter参数有区别吗?

问题描述 关于java后台获取@requestbody和@Parameter参数有区别吗? 这个前台人员提供的图片,但是领导说用parameter就不用request.我现在要获取request.前端又要怎么写呢?

java后台获取客户端外网ip

问题描述 java后台获取客户端外网ip 下面就是我用过的办法,但是都没作用,都是获得的内网ip public static String getRealIp() throws SocketException { String localip = null;// 本地IP,如果没有配置外网IP则返回它 String netip = null;// 外网IP Enumeration<NetworkInterface> netInterfaces = NetworkInterface.getNet

Java实现获取客户端真实IP方法小结_java

在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的.但是在通过了Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了.如果使用了反向代理软件,用request.getRemoteAddr()方法获取的IP地址是:127.0.0.1或192.168.1.110,而并不是客户端的真实IP. 经过代理以后,由于在客户端和服务之间增加了中间层,因此服务器无法直接拿到客户端的 IP,服务器端应用也无法直接通过转发请

如何在JAVA后台取得相应apache目录下的文件名?

问题描述 (1)首先,APACHE安装设置好;(2)在IE中输入http://localhost:8080/test回车,能看到test目录下的文件.现在想通过JAVA取出test目录下的文件名(01.csv02.csv).以下是截取的部分页面代码.<ul><li><ahref="/AAA/">ParentDirectory</a></li><li><ahref="01.csv">0

flex通过java后台获取ip和pcname示例代码_Flex

在***DAOImpl.java中的代码如下 复制代码 代码如下: public String getCompuName() { Map<String, String> map = System.getenv() ; String computerName = map.get("COMPUTERNAME");// 获取计算机名 return computerName; } public String getIp() { InetAddress addr = null; tr

java如何获取文件(一般是可执行的)的版本号

问题描述 如题所述.C#里有相关的类包,但是java里没找到,望大拿指点指点啊.谢谢啦~~ 解决方案 解决方案二:我不会C#,你说一下是哪些类.这些类是做什么的,主要有哪些功能吧.我可以看看Java中有没有适合的类库.PS:帖子内容和标题完全不符啊?解决方案三:执行的版本号?解决方案四:执行的版本号?解决方案五:java边玩的都是jar不知道算不算可执行文件不懂版本号解决方案六:引用1楼bao110908的回复: 我不会C#,你说一下是哪些类.这些类是做什么的,主要有哪些功能吧.我可以看看Jav

c++-jni java怎么获取C++里面的值

问题描述 jni java怎么获取C++里面的值 B1F90D4943DDED01这个是C++那边打印的值,如何在java这边获取 解决方案 返回string,在jni类型中对应jstring就可以了 解决方案二: JNIEXPORT jstring JNICALL Java_test_JNI_1javaCallc_1test_stringMethod (JNIEnv *env, jobject obj, jstring string) { const char *str = (*env)->G

如何在js中获取&amp;amp;lt;input type=&amp;amp;quot;file&amp;amp;quot;&amp;amp;gt; 中选择的文件的大小?

问题描述 如何在js中获取<input type="file"> 中选择的文件的大小? 要限制用户上传文件大小,用后台判断的话就会导致刷新页面,所以只能放到前台来做了. 这是网上看到的一个方法,我试了试不能用 var f = document.getElementById("f").files; ".files"这里在Js中无法编译啊.. 解决方案 页面中 js 脚本哪来的"无法编译"? 这样是没错的啊. 解决方案