系统城装机大师 - 固镇县祥瑞电脑科技销售部宣传站!

当前位置:首页 > server > anz > 详细页面

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

时间:2024-07-07来源:系统城装机大师作者:佚名

近来一个项目的需求是上传文件到图片服务器中linux系统上传文件,图片服务器是布署在linux上的一个tomcat容器linux系统上传文件,话不多说linux 电子书,直接上代码

一个工具类即可搞定:

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

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.<a style="color:#f60; text-decoration:underline;" href="https://www.php.cn/zt/15972.html" target="_blank">apache</a>.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系统上传文件

 

1

2

3

boolean bh = FtpUtil.uploadFile("服务器IP",

端口号,"服务器账号","服务器密码",

"/data/wwes/sbsm/map/html/",FilePath,hFileName,hFileInputStream);

上述:basePath:服务器文件储存基本路径

FilePath:基本路径前面动态拼接的文件路径(可依照须要,设置不同的文件储存到不同的文件夹下)

hFileName:文件名称(可依照须要自定义命名文件)

hFileInputStream:文件上传的输入流,通过

 

1

InputStream hFileInputStream = hFile.getInputStream();获取

返回:true文件上传成功,即可在linux上图片服务器中相应的目录下查看已上传的文件

别忘掉点赞deepin linux,感谢!

分享到:

相关信息

  • Nginx主机域名配置实现

    一、配置多个端口访问不同文件 二、配置不同域名访问不同文件 三、配置不同域名访问同个文件...

    2023-03-17

  • Nginx配置-日志格式配置方式

    上线了一个小的预约程序,配置通过Nginx进行访问入口,默认的日志是没有请求时间的,因此需要配置一下,将每一次的请求的访问响应时间记录出来,备查与优化使用....

    2023-03-17

系统教程栏目

栏目热门教程

人气教程排行

站长推荐

热门系统下载