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都可以
\记得给分
------解决方案--------------------。。。。。。。。。。。。。。
用相对路径啊,不能用绝对路径的阿