java本地文件上传
只希望能帮到正在编程路上的你
先配置yml文件,如果是线上就用/user
#文件上传
upload:filePath: D:/
# filePath: /usr/java/image
业务接口
package com.maxed.service.common;import org.springframework.web.multipart.MultipartFile;import javax.servlet.http.HttpServletRequest;
import java.util.List;public interface QuestionService {List<String> uploadImg(MultipartFile[] files, HttpServletRequest request);
}
业务实现
package com.maxed.service.common;import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.UUID;@Service
public class QuestionServiceImpl implements QuestionService {@Value("${upload.filePath}")private String filePath;private static boolean running = false;@Overridepublic List<String> uploadImg(MultipartFile[] files, HttpServletRequest request) {List<String> images = new ArrayList<>();for (MultipartFile file : files) {//获取绝对路径String realPath = filePath;SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd/");String format = sdf.format(new Date());//文件存放的目录File folder = new File(realPath + format);if (!folder.isDirectory()) {folder.mkdirs();}String oldName = file.getOriginalFilename();//文件后缀String suffix = oldName.substring(oldName.lastIndexOf("."), oldName.length());//文件新名字String newName = UUID.randomUUID().toString() + suffix;try {File targetFile = new File(folder, newName);if (!targetFile.exists()) {targetFile.mkdirs();} else {targetFile.delete();}file.transferTo(targetFile);
// String filePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + "/uploadFile/" + format + newName;String filePath = request.getScheme() + "://hotel_api.xiyang.shop/uploadFile/" + format + newName;images.add(filePath);} catch (IOException e) {e.printStackTrace();}}return images;}
}
控制器
import com.maxed.adapter.IgnoreSecurity;
import com.maxed.error.Result;
import com.maxed.error.ResultUtil;
import com.maxed.service.common.QuestionService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.util.List;@RestController
@RequestMapping("/upload")
@Api(value = "本地图片上传", tags = {"本地图片上传"})
@Slf4j
public class LocalHostUploadController {@ResourceQuestionService questionService;@PostMapping("/uploadMultipleFile")@ApiOperation(value = "文件上传")@IgnoreSecurity@ResponseBodypublic Result uploadImg(@RequestParam("file") MultipartFile[] files, HttpServletRequest request) throws IOException {List<String> strings = questionService.uploadImg(files, request);return ResultUtil.success(strings);}
}
java本地文件上传相关推荐
- 文件上传 java web_JavaWeb 文件上传下载
1. 文件上传下载概述 1.1. 什么是文件上传下载 所谓文件上传下载就是将本地文件上传到服务器端,从服务器端下载文件到本地的过程.例如目前网站需要上传头像.上传下载图片或网盘等功能都是利用文件上传下 ...
- H5+JAVA的文件上传,断点续传
需求:项目要支持大文件上传功能,经过讨论,初步将文件上传大小控制在500M内,因此自己需要在项目中进行文件上传部分的调整和配置,自己将大小都以501M来进行限制. 第一步: 前端修改 由于项目使用的是 ...
- java文件流 m.jb51.net_FasfDFS整合Java实现文件上传下载功能实例详解
今天使用Java代码实现文件的上传和下载.对此作者提供了Java API支持,下载fastdfs-client-java将源码添加到项目中.或者在Maven项目pom.xml文件中添加依赖 org.c ...
- Java将文件上传到ftp服务器
Java将文件上传到ftp服务器 首先简单介绍一下什么是FTP,以及如何在自己的电脑上搭建一个ftp服务器: -- FTP是文件传输协议(FTP)是一种客户端/服务器协议,用于将文件传输到主机或与主机 ...
- java多文件上传plupload控件实现多图片上传(二)
接上篇 java多文件上传plupload控件实现多图片上传(一) 续写PluploadUtil 和 Plupload PO类,以及后台的action. 至此,可实现多文件上传功能. 上传文件Acti ...
- JAVA大文件上传断点续传解决方案
JAVA大文件上传断点续传解决方案 参考文章: (1)JAVA大文件上传断点续传解决方案 (2)https://www.cnblogs.com/songsu/p/11834425.html (3)ht ...
- java jsp 文件上传_用JSP编写文件上传
用JSP编写文件上传 发布时间:2016-09-14 来源: 点击: 次 如果你曾用VB编写文件上传的组件的话,那么用JAVA编写文件上传的JAVABEAN十分容易. 下面的例子只是一个简版 pack ...
- Python 技术篇-用flask服务实现mac本地文件上传至windows服务器指定文件夹下实例演示
操作 linux 主机的话用 paramiko 会简单很多,可以看我下面的文章. Python 技术篇-用 paramiko 库实现 winodws 本地文件上传至 linux 服务器实例演示 首先是 ...
- Python 技术篇-用paramiko库实现winodws本地文件上传至linux服务器实例演示
利用 paramiko 库可以实现 linux 服务器的管理. 如果想管理 windows 服务器的话就麻烦一点了,我用 flask 服务实现的,可以看我的这篇文章: Python 技术篇-用 fla ...
- centos nfs java_CentOS下安装配置NFS并通过Java进行文件上传下载
1:安装NFS (1)安装 yum install nfs-utils rpcbind (2)启动rpcbind服务 systemctl restart rpcbind.service 查看服务状态 ...
最新文章
- 【SpringCloud】Ribbon:负载均衡
- [LeetCode_5] Longest Palindromic Substring
- python文本聚类分析_python机器学习kmeans算法——对文本进行聚类分析
- Loadrunner中web_reg_save_param的使用详解
- Educoder Matplotlib和Seaborn三维图 第2关:曲面三角剖分
- Windows批处理命令
- QQ客服代码(支持临时会话设置)
- 冷凝器胶球自动在线清洗装置在中央空调主机冷凝器清洗方案介绍
- APP推广渠道下载量统计方案
- 保龄球记分程序c语言,保龄球的计分规则和比赛规则
- 企业发文的红头文件_公司红头文件格式范文6篇
- 高德导航在天地图显示
- layui省市县三级联动,如何设置select选择时,值为省市县code码
- 给你一个杯子,你如何测试
- 查询分析器默认代码颜色
- 并发策略-CAS算法
- yac163: linux 下的163相册辅助工具
- 2021高考热度最高专业,大数据分析告诉你
- 网站渗透测试服务 squid反向代理代码执行漏洞的挖掘
- 达梦数据库 图形化界面安装详细教程