ftp图片服务器搭建!ftp上传到图片服务器,通过http协议读取图片
来源:互联网 发布:软件项目 文档 编辑:程序博客网 时间:2024/05/16 12:23
现在在搞图片服务器,需求是
1.用户上传的图片不能直接上传到应用服务器,而且要上传到另外一太专门的服务器上去,目的是为了实现负载和共享,
2.从图片服务器上读取图片
解决思路:
思路一,用ftp上传,用ftp下载
思路二,用ftp上传,用http下载[图片服务器装一个web容器。如tomcat]
考虑到下载时如果用ftp,因为存在鉴权操作,而且每次都要建立新链接并断开谅解,这样效率很低,所以决定用思路二:
开始动手
远程操作数据,网上好多人说有两种方式:1,用sun提供的ftpClient 2.用apache提供的开源组件
我这里选择了sun的jdk自带的ftpClient.
遇到的问题:1,刚开始我用的jdk7,结果发现sun的类识别调用报错,经查是因为jdk7对net包下的ftpClient做个修改,所以有的api不能用,
解决办法:果断换回jdk6编译。问题解决
2.上传完成后发现中文的文件名都变成了乱码。经查是因为sun默认进行了编码is08859-1;
解决办法:自己写个类 MyFtpClient 继承FtpClient即可,只有个方法用来设置转码,一般设置为GBk即可。代码下面附
3.中文总算顺利传上去,本地用servlet调用http://来访问传上去的图片,结果发现只要文件名有中文的文件,无论是用浏览器地址栏访问还是在servlete后台
String urlString = "http://10.10.110.112:8080/fdc-report-MySQL"+"/"+path+"/"+temp2;
URL url = new URL(urlString);
URLConnection conn = url.openConnection();
InputStream bis = conn.getInputStream();
都访问不了:
解决办法“:tomcat默认不知道中文访问,所以对tomcat进行设置,让中文路径也可以访问:
在Tomcat安装目录下找到server.xml文件,找到
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
在里面加入URIEncoding="utf-8" 这个属性,保存,然后重启tomcat即可。
4.上传的文件名字中有空格,tomcat也访问不了:原因是:路径中空格要进行转换。空格被转码成'+'了,而在tomcat服务器中,空格是'%20',所以会导致无法访问到该路径
解决办法:
String filename = "QQ截 图20130802091756.png";
String temp1=URLEncoder.encode(filename, "UTF-8");
String temp2=temp1.replaceAll("\\+", "%20");
String urlString = "http://10.10.110.112:8080/fdc-report-mysql"+"/"+path+"/"+temp2;
URL url = new URL(urlString);
到此问题基本解决 .
遇到问题就要内心解决,一定可以搞定。加油!!!
下面给大家附上代码:
- ftp图片服务器搭建!ftp上传到图片服务器,通过http协议读取图片
- 图片服务器搭建!ftp上传到图片服务器,通过http协议读取图片
- 图片服务器搭建 ftp上传http协议读取图片
- 使用FTP上传图片到图片服务器
- 通过ftp上传图片到服务器并支持下载预览
- Java实现FTP上传图片到服务器
- 将图片上传到FTP服务器
- Java上传图片到FTP服务器
- nginx+ftp搭建图片服务器
- Centos+FTP搭建图片服务器
- nginx+ftp搭建图片服务器
- Java实现将图片上传至服务器(FTP协议)
- 搭建ftp图片服务器,通过Nginx来显示
- java FTP方式上传文件到图片服务器
- FTP+Nginx图片服务器
- FTP跨服务器上传图片(一) 图片服务器配置
- FTP跨服务器上传图片(二)
- ftp+nginx 图片服务器的搭建
- sublime安装服务器sublimeServer插件
- LVS系列—LVS的三种工作方式(TUN原理)(三)
- node.js window10上安装出现错误-“系统无法访问设备或文件error code 2755“
- 羊皮卷之二
- PAT 乙级 1037. 在霍格沃茨找零钱(20)
- ftp图片服务器搭建!ftp上传到图片服务器,通过http协议读取图片
- node.js学习之输出Hello World
- 结构体的内存结构以及位域的认识
- 面试题总结 —— JAVA高级工程师
- python实现翻转给定列表中的元素
- Windows核心编程之DLL基础
- B
- 化学品问题 oj137
- 当U盘启动时,出现grub>如果将启动项引导到硬盘?