java代码上传图片到FTP服务器——图像“ftp://****/images/**.jpg"因存在错误而无法显示
来源:互联网 发布:java简历项目描述 编辑:程序博客网 时间:2024/04/29 04:24
项目中要求使用Nginx和ftp服务器来存储照片。其中ftp是用来存储照片的,而Nginx服务器来访问其中的照片。通过FileZilla工具来上传图片到服务器是很顺利的。但是通过java代码测试上传的图片一直显示:图像”ftp://****/images/**.jpg"因存在错误而无法显示。就是通过Linux指令(eog **.jpg)来查看也不行。
java代码如下所示:
import java.io.File;import java.io.FileInputStream;import org.apache.commons.net.ftp.FTP;import org.apache.commons.net.ftp.FTPClient;import org.junit.Test;//测试FTP的类public class FTPTest {@Testpublic void testFtpClient() throws Exception{//创建一个FTPClient对象FTPClient ftpClient = new FTPClient();//创建FTP连接,端口号可以设定,我的是22,默认是21ftpClient.connect("192.168.**.**",21);//登录FTP服务器,使用用户名和密码ftpClient.login("****", "****");//ftpClient.enterRemotePassiveMode();//ftpClient.setControlEncoding("gb18030");//上传文件,读取本地文件String path = "D:\\NetBuyProject\\Netbuy\\images\\defaultImgs\\9.jpg";FileInputStream inputStream = new FileInputStream(new File(path));//设置上传的路径String pathname = "/home/ftpuser/images";//这个路径就是FTP服务端存储的路径,可以从FileZilla中获取ftpClient.changeWorkingDirectory(pathname);//参数一:服务器端文档名;参数二:上传文档的inputStreamString remote = "11cui00.jpg";ftpClient.storeFile(remote, inputStream);//关闭连接ftpClient.logout();}}这样测试一直都不通过,同时也改过访问模式,主动和被动都不行,文件编码方式也改过,都不好。
无意间想到了传输图片的格式采用二进制形式,加了如下一句话,就可以了:
ftpClient.setFileType(FTP.BINARY_FILE_TYPE);完整的ftp上传图片的代码如下:
import java.io.File;import java.io.FileInputStream;import org.apache.commons.net.ftp.FTP;import org.apache.commons.net.ftp.FTPClient;import org.junit.Test;//测试FTP的类public class FTPTest {@Testpublic void testFtpClient() throws Exception{//创建一个FTPClient对象FTPClient ftpClient = new FTPClient();//创建FTP连接,端口号可以设定,我的是22,默认是21ftpClient.connect("192.168.**.**",21);//登录FTP服务器,使用用户名和密码ftpClient.login("****", "****");//上传文件,读取本地文件String path = "D:\\NetBuyProject\\Netbuy\\images\\defaultImgs\\9.jpg";FileInputStream inputStream = new FileInputStream(new File(path));ftpClient.setFileType(FTP.BINARY_FILE_TYPE);//************此处是重点要不就服务器的图像就被损坏//设置上传的路径String pathname = "/home/ftpuser/images";//这个路径就是FTP服务端存储的路径,可以从FileZilla中获取ftpClient.changeWorkingDirectory(pathname);//参数一:服务器端文档名;参数二:上传文档的inputStreamString remote = "11cui00.jpg";ftpClient.storeFile(remote, inputStream);//关闭连接ftpClient.logout();}}
0 0
- java代码上传图片到FTP服务器——图像“ftp://****/images/**.jpg"因存在错误而无法显示
- imagejpeg使用 图像...因存在错误而无法显示
- php图像因存在错误而无法显示
- Java实现FTP上传图片到服务器
- Java上传图片到FTP服务器
- java上传图片到ftp
- ftp重启后,java调用ftp上传图片,无法登陆ftp
- 使用FTP上传图片到图片服务器
- java FTP方式上传文件到图片服务器
- 将图片上传到FTP服务器
- java FTP上传文件到服务器
- java上传文件到FTP服务器
- java将文件上传到ftp服务器
- Java 上传文件到ftp服务器
- java 上传文件到 vsftpd ftp服务器
- JAVA 文件上传到FTP 服务器
- java 上传 下载 文件到FTP服务器
- Java 上传文件到ftp服务器
- Github与Git的区别
- ATLAS安装配置指南
- 编码灵魂(3)-单一职责原则
- [AX2012 R3]在SSRS报表中使用QR二维码
- Android FontMetrics类
- java代码上传图片到FTP服务器——图像“ftp://****/images/**.jpg"因存在错误而无法显示
- Linux系统清空swap脚本
- dnsmasq学习
- 【Android】线程池是什么?+ExecutorService
- 初始化DEMO相关
- 了解信用卡支付和它潜在替代者,让你的跨境业务更加如鱼得水
- 深度学习——计算机视觉领域的应用
- 底部导航栏五种方式实现
- Selenium webdriver 学习总结-元素定位