700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > JAVA 上传文件到另一台远程服务器(包含搭建文件服务器 基于Linux)

JAVA 上传文件到另一台远程服务器(包含搭建文件服务器 基于Linux)

时间:2019-02-20 08:37:24

相关推荐

JAVA 上传文件到另一台远程服务器(包含搭建文件服务器 基于Linux)

1.首先搭建一个文件服务器,不管你是本地虚拟机镜像创建的服务器,还是买的云服务器,都适用。

1)先去下载一个tomcat的安装包,如果你下不到没关系,我有。链接:/s/1Yd7kI3kIN3SuKQsIsEFgtA 提取码:iyvs 2)解压到你想要的文件夹下,修改web.xml文件。搜索到下图所展示的地方修改成所示代码。然后启动tomcat。

别忘了关闭防护火墙。可以使用nginx做代理,我这里没有做代理,只是开放了端口。不建议这么做,被渗透风险极大。只适用于学习DEMO。

3)在webapp目录下新建个文件夹,我这里叫files,然后访问路径下拼上文件夹路径,再次访问就会是下面展示的样子:

2.开始准备上传文件的代码

1.新建一个springboot项目 2.除了常规web依赖 ,还需引入以下依赖

<dependency><groupId>commons-net</groupId><artifactId>commons-net</artifactId><version>3.6</version></dependency><dependency><groupId>com.jcraft</groupId><artifactId>jsch</artifactId><version>0.1.54</version></dependency>

3.直接贴工具类

public class UploadUtil {private static ChannelSftp sftp = null;/*** Description: 向FTP服务器上传文件* @param filename 上传到FTP服务器上的文件名* @param input 输入流* @return 成功返回true,否则返回false*/public static boolean uploadFile(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(服务器用户名, 服务器IP, 端口号);//添加密码sshSession.setPassword(服务器密码);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("/usr/local/tomcat/apache-tomcat-9.0.39/webapps/files/");//设置为被动模式ftp.enterLocalPassiveMode();//设置上传文件的类型为二进制类型//进入到要上传的目录 然后上传文件sftp.cd("/usr/local/tomcat/apache-tomcat-9.0.39/webapps/files/");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;}}

InputStream哪来的 ,参数类型是MultipartFile,file.getInputStream()fileName 哪来的 ,file.getOriginalFilename();

有问题 评论区指教

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