失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Java实现FTP上传图片到服务器

Java实现FTP上传图片到服务器

时间:2019-08-27 16:36:18

相关推荐

Java实现FTP上传图片到服务器

应公司开发需要,需要从网络上抓取一些图片

如何将图片使用代码的方式放到服务器的目录下

公司对我开了一个端口为911的FTP账号

下面的代码就是Java模拟FTP将本地保存的图片上传到服务器

package com.dd1258.ftp;import java.io.BufferedWriter;import java.io.File;import java.io.FileInputStream;import java.io.FileWriter;import java.io.IOException;import java.io.InputStream;import .SocketException;import .ftp.FTPClient;import .ftp.FTPReply;import org.apache.log4j.Logger;public class FTP {private static Logger logger = Logger.getLogger(FTP.class);public static void main(String[] args) {String ftpHost = "************";int ftpPort = 911;String ftpUserName = "******************";String ftpPassword = "*******************";String fileContent = "";String writeTempFielPath = "";String ftpPath = "";FTP f = new FTP();f.upload(ftpPath, ftpUserName, ftpPassword, ftpHost, ftpPort, fileContent, writeTempFielPath);}/*** 本地上传文件到FTP服务器** @param ftpPath* 远程文件路径FTP* @throws IOException*/public void upload(String ftpPath, String ftpUserName, String ftpPassword, String ftpHost, int ftpPort,String fileContent, String writeTempFielPath) {FTPClient ftpClient = null;System.out.println("开始上传文件到FTP.");try {ftpClient = FTP.getFTPClient(ftpHost, ftpPassword, ftpUserName, ftpPort);// 设置PassiveMode传输ftpClient.enterLocalPassiveMode();// 设置以二进制流的方式传输ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);// 对远程目录的处理String remoteFileName = ftpPath; // -> /ddweb/LJ_TEST/f.txtif (ftpPath.contains("/")) {remoteFileName = ftpPath.substring(ftpPath.lastIndexOf("/") + 1);}// FTPFile[] files = ftpClient.listFiles(new// String(remoteFileName));// 先把文件写在本地。在上传到FTP上最后在删除//boolean writeResult = write(remoteFileName, fileContent, writeTempFielPath);if (true) {//File f = new File(writeTempFielPath + "/" + remoteFileName);File f = new File("G:/PythonSource/DD_MV/img/3.jpg");InputStream in = new FileInputStream(f);String lastpath = "/ddweb/LJ_TEST/"+"a.jpg";ftpClient.storeFile(lastpath, in);in.close();logger.info("上传文件" + remoteFileName + "到FTP成功!");//f.delete();} else {logger.info("写文件失败!");}} catch (Exception e) {e.printStackTrace();} finally {try {ftpClient.disconnect();} catch (IOException e) {e.printStackTrace();}}}/*** 将配置文件写到本地去 返回true和false* @param fileName* @param fileContext* @param writeTempFielPath* @return*/public boolean write(String fileName, String fileContext, String writeTempFielPath) {try {logger.info("开始写配置文件");File f = new File(writeTempFielPath + "/" + fileName);if (!f.exists()) {if (!f.createNewFile()) {logger.info("文件不存在,创建失败!");}}BufferedWriter bw = new BufferedWriter(new FileWriter(f, true));bw.write(fileContext.replaceAll("\n", "\r\n"));bw.flush();bw.close();return true;} catch (Exception e) {logger.error("写文件没有成功");e.printStackTrace();return false;}}public static FTPClient getFTPClient(String ftpHost, String ftpPassword, String ftpUserName, int ftpPort) { FTPClient ftpClient = null; try { ftpClient = new FTPClient(); ftpClient.connect(ftpHost, ftpPort);// 连接FTP服务器 ftpClient.login(ftpUserName, ftpPassword);// 登陆FTP服务器 if (!FTPReply.isPositiveCompletion(ftpClient.getReplyCode())) { logger.info("未连接到FTP,用户名或密码错误。"); ftpClient.disconnect(); } else { logger.info("FTP连接成功。"); } } catch (SocketException e) { e.printStackTrace(); logger.info("FTP的IP地址可能错误,请正确配置。"); } catch (IOException e) { e.printStackTrace(); logger.info("FTP的端口错误,请正确配置。"); } System.out.println("---------------------连接成功----------------------");System.out.println(ftpClient);return ftpClient; } }

如果觉得《Java实现FTP上传图片到服务器》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。