1、首先,用ftp上传,用ftp下载,用ftp上传,用http下载[图片服务器装一个web容器。考虑到下载时如果用ftp,因为存在鉴权操作,而且每次都要建立新链接并断开谅解,这样效率很低。
2、然后,远程操作数据,网上好多人说有两种方式,用sun提供的ftpClient,用apache提供的开源组件,我这里选择了sun的jdk自带的ftpClient,刚开始我用的jdk壅酪认奉7,结果发现sun的类识别调用报错,经查是因为jdk7对net包下的ftpClient做个修改,所以有的api不能用,果断换回jdk6编译。
3、然后,上传完成后发现中文的文件名都变成了乱码,经查是因为sun默认进行了编码is08859-1; 自己写个类MyFtpClient 继承FtpClient即可,只有个方法用来设置转码,一般设置为GBk即可。
4、然后,本地用servlet调用来访问传上去的图片,结果发现只要文件名有中文的文件,无论是用浏览器地址栏访问还是在servlete后台。
5、然后,在tomcat默认不知道中文访问,所以对tomcat进行设置,让中文路径孀晏弁钾也可以访问: 在Tomcat安装目录下找到server.xml文件,找到在里面加入URIEncoding="utf-8" 这个属性,保存,然后重启tomcat即可。
6、最后,上传的文件名字中有空格,tomcat也访问不了:原因是:路径中空格要进行转换。空格被转码成'+'了,而在tomcat服务器中,空格是'%20',所以会导致无法访问到该路径。