java代码上传文件到服务器plus版,MultipartFile文件类型,不在涉及本地路径
2021/9/23 20:11:30
本文主要是介绍java代码上传文件到服务器plus版,MultipartFile文件类型,不在涉及本地路径,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
添加依赖
<!--sftp文件上传--> <dependency> <groupId>com.jcraft</groupId> <artifactId>jsch</artifactId> <version>0.1.54</version> </dependency>
开始写工具类,直接拿去用:
import com.jcraft.jsch.Channel; import com.jcraft.jsch.*; import java.io.*; public class FtpUtils { /** * @param bytes 文件字节流 * @param fileName 文件名 * @throws Exception */ public static void sshSftp(byte[] bytes,String fileName) throws Exception{ //指定的服务器地址 String ip = "服务器ip地址"; //用户名 String user = "用户名"; //密码 String password = "密码"; //服务器端口 默认22 int port = 22; //上传文件到指定服务器的指定目录 自行修改 String path = "/root"; Session session = null; Channel channel = null; JSch jsch = new JSch(); if(port <=0){ //连接服务器,采用默认端口 session = jsch.getSession(user, ip); }else{ //采用指定的端口连接服务器 session = jsch.getSession(user, ip ,port); } //如果服务器连接不上,则抛出异常 if (session == null) { throw new Exception("session is null"); } //设置登陆主机的密码 session.setPassword(password);//设置密码 //设置第一次登陆的时候提示,可选值:(ask | yes | no) session.setConfig("StrictHostKeyChecking", "no"); //设置登陆超时时间 session.connect(30000); OutputStream outstream = null; try { //创建sftp通信通道 channel = (Channel) session.openChannel("sftp"); channel.connect(10000); ChannelSftp sftp = (ChannelSftp) channel; //进入服务器指定的文件夹 sftp.cd(path); //列出服务器指定的文件列表 // Vector v = sftp.ls("*"); // for(int i=0;i<v.size();i++){ // System.out.println(v.get(i)); // } //以下代码实现从本地上传一个文件到服务器,如果要实现下载,对换以下流就可以了 outstream = sftp.put(fileName); outstream.write(bytes); } catch (Exception e) { e.printStackTrace(); } finally { //关流操作 if(outstream != null){ outstream.flush(); outstream.close(); } if(session != null){ session.disconnect(); } if(channel != null){ channel.disconnect(); } } } }
controller层调用:
@PostMapping("/file") public void upload(@RequestParam("file") MultipartFile file) throws Exception { byte[] bytes = file.getBytes(); UDFUtils.sshSftp(bytes,file.getOriginalFilename()); }
postman测试:
yes,稻谷一天,完成,前端尽情的推拽吧!
这篇关于java代码上传文件到服务器plus版,MultipartFile文件类型,不在涉及本地路径的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南