首頁  >  文章  >  系統教程  >  如何在 Linux 上的 Tomcat 容器中上傳檔案到圖片伺服器

如何在 Linux 上的 Tomcat 容器中上傳檔案到圖片伺服器

WBOY
WBOY原創
2024-07-11 18:35:53997瀏覽

如何在 Linux 上的 Tomcat 容器中上传文件到图片服务器

近來一個專案的需求是上傳檔案到圖片伺服器中linux系統上傳檔案,圖片伺服器是佈署在linux上的一個tomcat容器linux系統上傳檔案,話不多說linux 電子書,直接上程式碼

一個工具類即可搞定:

package com.supermap.sbsm.util;
import com.jcraft.jsch.Channel;
import com.jcraft.jsch.ChannelSftp;
import com.jcraft.jsch.JSch;
import com.jcraft.jsch.Session;
import org.apache.commons.net.ftp.*;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.SocketException;
import java.util.Properties;
import java.io.IOException;
/**
 * @Author: zhangweixia
 * @Description: 创建服务器连接
 * @Date:Created in 10:29 2020/6/24
 * @Modified:
 */
public class FtpUtil {
private static ChannelSftp sftp = null;
/**
 * Description: 向FTP服务器上传文件
 * @param host FTP服务器ip
 * @param port FTP服务器端口
 * @param username FTP登录账号
 * @param password FTP登录密码
 * @param basePath FTP服务器基础目录,/home/ftpuser/images
 * @param filePath FTP服务器文件存放路径。例如分日期存放:/2018/05/28。文件的路径为basePath+filePath
 * @param filename 上传到FTP服务器上的文件名
 * @param input 输入流
 * @return 成功返回true,否则返回false
 */
public static boolean uploadFile(String host, int port, String username, String password, String basePath,
 String filePath, String filename, InputStream input) {
boolean result = false;
FTPClient ftp = new FTPClient();
File file=null;
try {
JSch jsch = new JSch();
//获取sshSession账号-ip-端口
Session sshSession = jsch.getSession(username, host, port);
//添加密码
sshSession.setPassword(password);
Properties sshConfig = new Properties();
//严格主机密钥检查
sshConfig.put("StrictHostKeyChecking", "no");
sshSession.setConfig(sshConfig);
//开启sshSession链接
sshSession.connect();
//获取sftp通道
Channel channel = sshSession.openChannel("sftp");
//开启
channel.connect();
sftp = (ChannelSftp) channel;
file=new File(basePath+filePath);
//设置为被动模式
ftp.enterLocalPassiveMode();
//设置上传文件的类型为二进制类型
//进入到要上传的目录然后上传文件
sftp.cd(basePath+filePath);
sftp.put(input,filename);
input.close();
result = true;
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (ftp.isConnected()) {
try {
ftp.disconnect();
} catch (IOException ioe) {
}
}
}
return result;
}
}

linux系统上传文件_linux系统上传文件_linux系统上传文件

boolean bh = FtpUtil.uploadFile("服务器IP",
端口号,"服务器账号","服务器密码",
"/data/wwes/sbsm/map/html/",FilePath,hFileName,hFileInputStream);

上述:basePath:伺服器檔案儲存基本路徑

FilePath:基本路徑前面動態拼接的檔案路徑(可依須要,設定不同的檔案儲存到不同的資料夾下)

hFileName:檔案名稱(可依須要自訂命名檔案)

hFileInputStream:檔案上傳的輸入流,透過

InputStream hFileInputStream = hFile.getInputStream();获取

回傳:true檔案上傳成功,即可在linux上圖片伺服器中對應的目錄下查看已上傳的檔案

別忘掉按讚deepin linux,感謝!

以上是如何在 Linux 上的 Tomcat 容器中上傳檔案到圖片伺服器的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn