Heim  >  Artikel  >  System-Tutorial  >  So laden Sie Dateien auf einen Bildserver in einem Tomcat-Container unter Linux hoch

So laden Sie Dateien auf einen Bildserver in einem Tomcat-Container unter Linux hoch

WBOY
WBOYOriginal
2024-07-11 18:35:531049Durchsuche

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

Eine aktuelle Projektanforderung besteht darin, Dateien auf einen Bildserver hochzuladenLinux-System-Upload-Dateien, der Bildserver ist ein unter Linux bereitgestellter Tomcat-ContainerLinux-System-Upload-Dateien, über Linux-E-Books gibt es nicht viel zu sagen, Laden Sie einfach den Code hoch

Ein Tool kann es schaffen:

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);

Oben: basePath: Basispfad für die Serverdateispeicherung

FilePath: Der Dateipfad, der dynamisch vor dem Basispfad gespleißt wird (je nach Bedarf können verschiedene Dateien so eingestellt werden, dass sie in verschiedenen Ordnern gespeichert werden)

hFileName: Dateiname (die Datei kann an Ihre Bedürfnisse angepasst werden)

hFileInputStream: Eingabestream für Datei-Upload, übergeben

InputStream hFileInputStream = hFile.getInputStream();获取

Rückgabe: true Wenn die Datei erfolgreich hochgeladen wurde, können Sie die hochgeladene Datei im entsprechenden Verzeichnis auf dem Image-Server unter Linux anzeigen

Vergessen Sie nicht, Deepin Linux zu mögen, danke!

Das obige ist der detaillierte Inhalt vonSo laden Sie Dateien auf einen Bildserver in einem Tomcat-Container unter Linux hoch. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn