日期:2014-05-18  浏览次数:20790 次

java文件上传的问题
我在linux上建立了个tomcat的服务   但在本地(windows)执行文件上传处理的时候却提示
java.io.FileNotFoundException:   D:\TEMP\aa.lzh   (No   such   file   or   directory)

我的源代码里是这样写的:
                                  in   =new   FileInputStream(strpathname);


这个程序如果本地(win)下却是正常的,能上传。
希望那个高手能指点下~!   很急啊~

------解决方案--------------------
上传的时候一定要搞清楚本地路径和客户端路径,你在本地执行成功是因为泳d:\temp\aa.lzh访问时实际上是访问的服务器路径,当你发布到别的机器上后,当然用这种方法就不对了,正确的方法是解析HttpRequest流对象,从中获取上传的文件信息,实际上网上有不少文件上传的组件可用,你不妨搜索一下
------解决方案--------------------
上传需要客户端和服务器端通讯的
------解决方案--------------------
在action中可以使用FormFile类获取要上传文件的信息:
FormFile uploadFile;
String fname=uploadFile.getFileName();
InputStream ins = uploadFile.getInputStream();
------解决方案--------------------
strpathname这个需要设为你需要上传的目录路径,最好不要写死。。。。。
而是通过上传文件取路径传递
------解决方案--------------------
新手怎么发贴
------解决方案--------------------
d:\temp
你把上传目录设定为这个了,但在LINUX下是没有D盘的,所以出错,你把这个改为/temp就行了,这样就是把上传目录设为你网站主目录下的temp文件夹
------解决方案--------------------
D:\TEMP\aa.lzh (No such file or directory)

你改成D:\\TEMP\\aa.lzh或/temp都可以
\记得给分
------解决方案--------------------
。。。。。。。。。。。。。。


用相对路径啊,不能用绝对路径的阿