为什么jspsmartupload里面getFilePathName在IE下和火狐中得到的值不一样呢

UFOUFO777 2010-04-19 09:33:34
在IE下得到的是路径+文件名,在火狐中得到的仅仅是文件名,有没有办法在火狐中得到全路径加文件名呢
...全文
187 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
UFOUFO777 2010-04-20
  • 打赏
  • 举报
回复
有没有办法把上传的文件图象化,就是类似这样的方法

com.jspsmart.upload.File myFile = smart.getFiles().getFile(0);
把myFile 图象化,就象下面这句一样
java.io.File image = new java.io.File(myFile);
UFOUFO777 2010-04-20
  • 打赏
  • 举报
回复
我的目的是上传本地图片到服务器,然后根据图片的宽度来决定是否要压缩重写图片,所以要得到图片的绝对路径然后ImageIO.read(image);来得到图片的宽度,结果在IE下打印出来的filepath正常,但是在火狐下打印出来的只是文件名,不包括目录,难道火狐还影响后台操作吗

demo.jsp

<form action="upload.jsp" method="post" ENCTYPE="multipart/form-data">
上传文件名:<input type="text" name="name">
插入要上传的图片:<input type="file" name="pic">
<input type = "submit" value="上传">
</form>

upload.jsp
<%@ page import ="com.jspsmart.upload.SmartUpload" %>
<%@ page import="java.awt.image.*"%>
<%@ page import="javax.imageio.*"%>
<%
SmartUpload smart =new SmartUpload();
smart.initialize(pageContext);

smart.upload();
com.jspsmart.upload.File myFile = smart.getFiles().getFile(0);
String filePath = myFile.getFilePathName();
out.print(filePath);
//java.io.File image = new java.io.File(filePath);
//BufferedImage imgbuffer = ImageIO.read(image);
//获得图片的高度和宽度
//int imgheight = imgbuffer.getHeight();
//out.print(imgheight);

myFile.saveAs("/upload/"+name+"."+ext);

%>
2010-04-20
  • 打赏
  • 举报
回复
你把url写成绝对路径不行了么? 哪个浏览器都是绝对路径了。
UFOUFO777 2010-04-20
  • 打赏
  • 举报
回复
没有人知道为什么吗
UFOUFO777 2010-04-20
  • 打赏
  • 举报
回复
new_height=Math.round(200*(height/width));
这一句,得到的结果为什么是0呢。
jspSmartUpload组件可以从www.jspsmart.com网站上下载,名字是jspSmartUpload.zip。下载后,用WinRAR将其解压到Tomcat的webapps目录下。将webapps/jspsmartupload目录下的子目录Web-inf名字改为全大写的WEB-INF,因为Tomcat对文件名大小写敏感,它要求Web应用程序相关的类所在目录为WEB-INF,且必须是大写。接着重新启动Tomcat,这样就可以在JSP文件使用jspSmartUpload组件了
  按上述方法安装后,只有webapps/jspsmartupload目录下的程序可以使用jspSmartUpload组件,如果想让Tomcat服务器的所有Web应用程序都能用它,必须做如下工作
1.进入命令行状态,将目录切换到Tomcat的webapps/jspsmartupload/WEB-INF目录下
2.运行JAR打包命令:jar cvf jspSmartUpload.jar com
(也可以打开资源管理器,切换到当前目录,用WinZip将com目录下的所有文件压缩成jspSmartUpload.zip,然后将jspSmartUpload.zip换名为jspSmartUpload.jar文件即可。)
3.将jspSmartUpload.jar拷贝到Tomcat的shared/lib目录下。
二、相关类说明篇
㈠ File类
这个类包装了一个上传文件的所有信息。通过它,可以得到上传文件的文件名、文件大小、扩展名、文件数据等信息
File类主要提供以下方法
1、saveAs作用:将文件换名另存
原型
public void saveAs(java.lang.String destFilePathName)

public void saveAs(java.lang.String destFilePathName, int optionSaveAs)
,destFilePathName是另存的文件名,optionSaveAs是另存的选项,该选项有三个,分别是SAVEAS_PHYSICAL,SAVEAS_VIRTUAL,SAVEAS_AUTO。SAVEAS_PHYSICAL表明以操作系统的根目录为文件根目录另存文件,SAVEAS_VIRTUAL表明以Web应用程序的根目录为文件根目录另存文件,SAVEAS_AUTO则表示让组件决定,当Web应用程序的根目录存在另存文件的目录时,它会选择SAVEAS_VIRTUAL,否则会选择SAVEAS_PHYSICAL
例如,saveAs("/upload/sample.zip",SAVEAS_PHYSICAL)执行后若Web服务器安装在C盘,则另存的文件名实际是c:\upload\sample.zip。而saveAs("/upload/sample.zip",SAVEAS_VIRTUAL)执行后若Web应用程序的根目录是webapps/jspsmartupload,则另存的文件名实际是webapps/jspsmartupload/upload/sample.zip。saveAs("/upload/sample.zip",SAVEAS_AUTO)执行时若Web应用程序根目录下存在upload目录,则其效果同saveAs("/upload/sample.zip",SAVEAS_VIRTUAL),否则同saveAs("/upload/sample.zip",SAVEAS_PHYSICAL)
建议:对于Web程序的开发来说,最好使用SAVEAS_VIRTUAL,以便移植
^^^^^^^^^^^^^^^^^^^^^^…………………………………………………………………………………………………………………………………………………………………………

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧