一:配置springBoot上传文件限制

spring:servlet:multipart:max-file-size: 100MB  #单个文件大小max-request-size: 1024MB #总文件大小

二:代码

import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.support.StandardMultipartHttpServletRequest;import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Base64;
import java.util.Locale;
import java.util.UUID;@RestController
@RequestMapping("upload")
public class UploadController {/*** 上传方式一,从请求体中获取文件信息* @param request* @return* @throws IOException*/@PostMapping("method1")public String upload1(HttpServletRequest request) throws IOException {MultipartFile file = ((StandardMultipartHttpServletRequest) request).getFile("file");String fileName = file.getOriginalFilename();String newName=UUID.randomUUID().toString()+fileName.substring(fileName.indexOf("."));// 获取当前操作系统String osName = System.getProperties().get("os.name").toString().toLowerCase(Locale.ROOT);String path="";if(osName.startsWith("win")){path="D:\\Test\\";}else{path="/mnt/test";}File saveFile=new File(path+newName);if(!saveFile.getParentFile().exists()){saveFile.getParentFile().mkdirs();}file.transferTo(saveFile);return saveFile.getPath();}/*** 上传方式2 MultipartFile 上传* @param file* @return* @throws IOException*/@PostMapping("method2")public String upload2(@RequestParam("file") MultipartFile file) throws IOException {String fileName = file.getOriginalFilename();String newName=UUID.randomUUID().toString()+fileName.substring(fileName.indexOf("."));// 获取当前操作系统String osName = System.getProperties().get("os.name").toString().toLowerCase(Locale.ROOT);String path="";if(osName.startsWith("win")){path="D:\\Test\\";}else{path="/mnt/test";}File saveFile=new File(path+newName);if(!saveFile.getParentFile().exists()){saveFile.getParentFile().mkdirs();}file.transferTo(saveFile);return saveFile.getPath();}/*** base64 图片上传* @param base64* @return*/@PostMapping("method3")public String upload3(@RequestParam("base64")String base64){String base64Data = base64.split(",")[1];Base64.Decoder decoder = Base64.getDecoder();byte[] bytes = decoder.decode(base64Data);// 获取当前操作系统String osName = System.getProperties().get("os.name").toString().toLowerCase(Locale.ROOT);String path="";if(osName.startsWith("win")){path="D:\\Test\\";}else{path="/mnt/test";}String newName=UUID.randomUUID().toString()+".png";File saveFile=new File(path+newName);if(!saveFile.getParentFile().exists()){saveFile.getParentFile().mkdirs();}FileOutputStream fos = null;try {fos = new FileOutputStream(saveFile);fos.write(bytes);} catch (IOException e) {e.printStackTrace();} finally {if (fos != null) {try {fos.close();} catch (IOException e) {e.printStackTrace();}}}return saveFile.getPath();}public static void main(String[] args) {String data = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAFJklEQVR4Xu3VsRGAQAwEsaf/oqEBINj0RO7A8u9w3efcx0eAwKvAJRAvg8C3gEC8DgI/AgLxPAgIxBsg0AT8QZqbqREBgYwc2ppNQCDNzdSIgEBGDm3NJiCQ5mZqREAgI4e2ZhMQSHMzNSIgkJFDW7MJCKS5mRoREMjIoa3ZBATS3EyNCAhk5NDWbAICaW6mRgQEMnJoazYBgTQ3UyMCAhk5tDWbgECam6kRAYGMHNqaTUAgzc3UiIBARg5tzSYgkOZmakRAICOHtmYTEEhzMzUiIJCRQ1uzCQikuZkaERDIyKGt2QQE0txMjQgIZOTQ1mwCAmlupkYEBDJyaGs2AYE0N1MjAgIZObQ1m4BAmpupEQGBjBzamk1AIM3N1IiAQEYObc0mIJDmZmpEQCAjh7ZmExBIczM1IiCQkUNbswkIpLmZGhEQyMihrdkEBNLcTI0ICGTk0NZsAgJpbqZGBAQycmhrNgGBNDdTIwICGTm0NZuAQJqbqREBgYwc2ppNQCDNzdSIgEBGDm3NJiCQ5mZqREAgI4e2ZhMQSHMzNSIgkJFDW7MJCKS5mRoREMjIoa3ZBATS3EyNCAhk5NDWbAICaW6mRgQEMnJoazYBgTQ3UyMCAhk5tDWbgECam6kRAYGMHNqaTUAgzc3UiIBARg5tzSYgkOZmakRAICOHtmYTEEhzMzUiIJCRQ1uzCQikuZkaERDIyKGt2QQE0txMjQgIZOTQ1mwCAmlupkYEBDJyaGs2AYE0N1MjAgIZObQ1m4BAmpupEQGBjBzamk1AIM3N1IiAQEYObc0mIJDmZmpEQCAjh7ZmExBIczM1IiCQkUNbswkIpLmZGhEQyMihrdkEBNLcTI0ICGTk0NZsAgJpbqZGBAQycmhrNgGBNDdTIwICGTm0NZuAQJqbqREBgYwc2ppNQCDNzdSIgEBGDm3NJiCQ5mZqREAgI4e2ZhMQSHMzNSIgkJFDW7MJCKS5mRoREMjIoa3ZBATS3EyNCAhk5NDWbAICaW6mRgQEMnJoazYBgTQ3UyMCAhk5tDWbgECam6kRAYGMHNqaTUAgzc3UiIBARg5tzSYgkOZmakRAICOHtmYTEEhzMzUiIJCRQ1uzCQikuZkaERDIyKGt2QQE0txMjQgIZOTQ1mwCAmlupkYEBDJyaGs2AYE0N1MjAgIZObQ1m4BAmpupEQGBjBzamk1AIM3N1IiAQEYObc0mIJDmZmpEQCAjh7ZmExBIczM1IiCQkUNbswkIpLmZGhEQyMihrdkEBNLcTI0ICGTk0NZsAgJpbqZGBAQycmhrNgGBNDdTIwICGTm0NZuAQJqbqREBgYwc2ppNQCDNzdSIgEBGDm3NJiCQ5mZqREAgI4e2ZhMQSHMzNSIgkJFDW7MJCKS5mRoREMjIoa3ZBATS3EyNCAhk5NDWbAICaW6mRgQEMnJoazYBgTQ3UyMCAhk5tDWbgECam6kRAYGMHNqaTUAgzc3UiIBARg5tzSYgkOZmakRAICOHtmYTEEhzMzUiIJCRQ1uzCQikuZkaERDIyKGt2QQE0txMjQgIZOTQ1mwCAmlupkYEBDJyaGs2AYE0N1MjAgIZObQ1m4BAmpupEQGBjBzamk1AIM3N1IiAQEYObc0mIJDmZmpEQCAjh7ZmExBIczM1IiCQkUNbswkIpLmZGhEQyMihrdkEBNLcTI0ICGTk0NZsAgJpbqZGBAQycmhrNgGBNDdTIwICGTm0NZuAQJqbqREBgYwc2ppNQCDNzdSIwAOn4Y9IyHT+ZAAAAABJRU5ErkJggg==";}
}

Java 文件上传 三种方式相关推荐

  1. jquery上传图片_文件上传三种方式

    来源:python宝典    链接: https://mp.weixin.qq.com/s/YUplCQDfAucA_rS8E1T6WA 需求 上传图片在页面显示 Form表单上传 <html ...

  2. Python页面自动化文件上传两种方式

    Python页面自动化测试之文件上传的两种方式 --广州_vivi 最近教学过程,学员项目出现测试上传文件无法执行的情况,分析发现学员项目的上传按钮并不是input按钮,导致无法使用直接定位元素方式进 ...

  3. java 文件上传 servlet_java文件上传-原始的Servlet方式

    前言: 干了这几个项目,也做过几次文件上传下载,要么是copy项目以前的代码,要么是百度的,虽然做出来了,但学习一下原理弄透彻还是很有必要的.刚出去转了一圈看周围有没有租房的,在北京出去找房子是心里感 ...

  4. java文件上传到云服务器,java文件上传到云服务器

    java文件上传到云服务器 内容精选 换一换 当用户拥有Linux操作系统的外部镜像文件,且类型及操作系统符合外部镜像文件格式和操作系统类型要求时,用户可以将外部镜像文件创建为Linux系统盘镜像. ...

  5. Java文件上传大杀器-绕waf(针对commons-fileupload组件)

    Java文件上传大杀器-绕waf(针对commons-fileupload组件) Ps:高版本才有1.3以上 来个中二的标题,哈哈哈,灵感来源于昨晚赛博群有个师傅@我是killer发了篇新文章,在那篇 ...

  6. JAVA文件上传 ServletFileUpLoad 实例

    1.  jsp <%@ page language="java" contentType="text/html" pageEncoding="u ...

  7. 【文件上传漏洞绕过方式】

    目录 前言 正文 总结 前言 目前,文件上传往往在业务中不可避免,也是极其容易出现上传漏洞.根据owasptop10中的排名,文件上传漏洞(属于攻击检测和防范不足)高居其中.今天和大家分享常见的文件上 ...

  8. sass文件编译的三种方式【舒】

    [舒:]sass文件编译的三种方式 方式一: 1.webstorm打开evtGulp项目或者mcake-activity项目 2.中,开启gulp->default/develop,启动watc ...

  9. 用python打开文件夹的三种方式

    用python打开文件夹的三种方式 一.利用explorer.exe import os# 利用explorer.exe执行 start_directory = r'C:\代码\软件包' os.sys ...

  10. JAVA 文件上传下载工具类

    JAVA 文件上传下载工具类 import lombok.extern.slf4j.Slf4j; import org.apache.commons.io.FileUtils; import org. ...

最新文章

  1. python算法书pdf_Python算法很难吗?python神书《算法图解》PDF电子版分享给你!
  2. matlab在电气工程中的数值分析
  3. Nginx Rewrite规则初探
  4. Apache - No space left on device / Failed to create proxy Mutex
  5. Aspcms框架的webshell
  6. Spark案例:Scala版统计单词个数
  7. Applying a Color Wash to Images
  8. 问题排查证明方式:Unknown column NaN in field list
  9. 相似矩阵对角化 | 找到一个可逆矩阵 P 使得 P^(-1)AP 成为一个对角矩阵
  10. 数据库设计的基本规范和原则
  11. 基于Android studio开发的图灵智能聊天机器人
  12. SSM项目之短信验证码登录
  13. Excel.js导出图片和表格
  14. 机器学习中的参数与超参数之间的区别
  15. MySQL自动化巡检报告-v1.0
  16. 前端CSS代码格式化、JavaScript代码格式化函数
  17. 【软件工程-UML建模】
  18. 阿里云短信服务——短信发送验证码
  19. 副驾驶的意义_副驾驶在飞行中的作用与地位
  20. 什么是“网络空间安全”?这个行业就业方面如何?

热门文章

  1. JSP介绍及视频教程
  2. android toast 显示在最上面,Android Toast在屏幕上移动
  3. Inspect(VB.NET、C#版)软件的的下载和使用
  4. python tts 离线 linux_ubuntu16.04安装科大讯飞Linux SDK实现离线语音合成(TTS)
  5. 地下城php补丁怎么用,dnf补丁怎么用,教你如何学会使用补丁
  6. Java常用命令与参数设置
  7. 网吧服务器网络维护教程,高效维护网吧局域网网络的方法
  8. qcom usb驱动下载_艾肯Mobile Q驱动-艾肯Mobile Q usb外置声卡驱动下载v1.35.20 官方最新版-西西软件下载...
  9. [附源码]Java计算机毕业设计SSM高等数学在线学习平台
  10. 医学激光成像仪行业研究及十四五规划分析报告