IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> 3.5SpringBoot之文件上传 -> 正文阅读

[Java知识库]3.5SpringBoot之文件上传

1.单文件上传到服务器

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form action="/upload" method="post" enctype="multipart/form-data">
    <input type="file" name="file">
    <input type="submit" value="提交">
</form>

</body>
</html>

fileController

@RestController
public class fileuploadController {
    /**
     * 按日期分类
     */
    SimpleDateFormat sdf=new SimpleDateFormat("/yyyy/MM/dd/");
    @RequestMapping("/upload")
    public String upliad(MultipartFile file, HttpServletRequest req){
        //获取临时目录
        String realpath=req.getServletContext().getRealPath("/");
        //最终路径
        String format = sdf.format(new Date());
        String path=realpath+ format;
        File folder=new File(path);
        if (!folder.exists()){
            folder.mkdirs();
        }
        String oldName = file.getOriginalFilename();
        String newName= UUID.randomUUID().toString()+oldName.substring(oldName.lastIndexOf("."));
        try {
            file.transferTo(new File(path+newName));
            String newName1 =req.getScheme()+"://"+req.getServerName()+":"+req.getServerPort()+req.getContextPath()+format+ newName;
            return newName1;
//            return path;
        } catch (IOException e) {
            e.printStackTrace();
        }
        return "";
    }
}

返回结果

打开链接就可以看见上传的文件

2.单文件上传到本地

    @RequestMapping("/upload")
    public String upload2(@RequestBody MultipartFile file, HttpServletRequest req) throws IOException {//MultipartFile 接收前端传过来的文件
        String format = sdf.format(new Date());
        String path="D:/img"+format;
        File folder=new File(path);
        if (!folder.exists()){
            folder.mkdirs();
        }
        String oldName = file.getOriginalFilename();
        String newName= UUID.randomUUID().toString()+oldName.substring(oldName.lastIndexOf("."));
        file.transferTo(new File(path+newName));
        return path+ newName;
    }

多文件上传

1.一次性选择多个文件

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form action="/uploads2" method="post" enctype="multipart/form-data">
    <input type="file" name="files" multiple>
    <input type="submit" value="提交">
</form>

</body>
</html>

?updaloadController

    SimpleDateFormat sdf=new SimpleDateFormat("/yyyy/MM/dd/");
    @RequestMapping("/uploads2")
    public String upliad(MultipartFile[] files, HttpServletRequest req){
        //获取临时目录
        String realpath=req.getServletContext().getRealPath("/");
        //最终路径
        String format = sdf.format(new Date());
        String path=realpath+ format;
        File folder=new File(path);
        if (!folder.exists()){
            folder.mkdirs();
        }
        try {
        for (MultipartFile file:files){
            String oldName = file.getOriginalFilename();
            String newName= UUID.randomUUID().toString()+oldName.substring(oldName.lastIndexOf("."));
            file.transferTo(new File(path+newName));
            String newName1 =req.getScheme()+"://"+req.getServerName()+":"+req.getServerPort()+req.getContextPath()+format+ newName;
            System.out.println(newName1);
        }
        } catch (IOException e) {
            e.printStackTrace();
        }

        return "";
    }

?2.选择多次

index.html

 SimpleDateFormat sdf=new SimpleDateFormat("/yyyy/MM/dd/");
    @RequestMapping("/uploads3")
    public String upliad(MultipartFile files1,MultipartFile files2, HttpServletRequest req){
        //获取临时目录
        String realpath=req.getServletContext().getRealPath("/");
        //最终路径
        String format = sdf.format(new Date());
        String path=realpath+ format;
        File folder=new File(path);
        if (!folder.exists()){
            folder.mkdirs();
        }
        try {

            String oldName = files1.getOriginalFilename();
            String newName= UUID.randomUUID().toString()+oldName.substring(oldName.lastIndexOf("."));
            files1.transferTo(new File(path+newName));
            String s1 =req.getScheme()+"://"+req.getServerName()+":"+req.getServerPort()+req.getContextPath()+format+ newName;
            System.out.println(s1);

            String oldName2 = files2.getOriginalFilename();
            String newName2= UUID.randomUUID().toString()+oldName2.substring(oldName2.lastIndexOf("."));
            files2.transferTo(new File(path+newName2));
            String s2 =req.getScheme()+"://"+req.getServerName()+":"+req.getServerPort()+req.getContextPath()+format+ newName2;
            System.out.println(s2);

        } catch (IOException e) {
            e.printStackTrace();
        }

        return "";
    }

?updaloadController

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form action="/uploads3" method="post" enctype="multipart/form-data">
    <input type="file" name="files1">
    <input type="file" name="files2">
    <input type="submit" value="提交">
</form>

</body>
</html>

ajax上传

ajax.html

<!DOCTYPE html>
<html lang="en">
<head>
    <script src="https://code.jquery.com/jquery-3.6.0.js" integrity="sha256-H+K7U5CnXl1h5ywQfKtSj8PCmoN9aaq30gDh27Xc0jk=" crossorigin="anonymous"></script>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div id="result"></div>
    <input type="file" id="file">
    <input type="button" value="提交" onclick="uploadFile()">
<script>
function uploadFile(){
var file =$("#file")[0].files[0];
var formData = new FormData();
formData.append("file", file);
$.ajax({
type:"post",
url:"/upload",
processData:false,
contentType:false,
data:formData,
success:function (msg){
    $("#result").html(msg);
}
});
}

</script>

</body>
</html>

uploadController

 SimpleDateFormat sdf=new SimpleDateFormat("/yyyy/MM/dd/");
    @RequestMapping("/upload")
    public String upliad(MultipartFile file, HttpServletRequest req){
        //获取临时目录
        String realpath=req.getServletContext().getRealPath("/");
        //最终路径
        String format = sdf.format(new Date());
        String path=realpath+ format;
        File folder=new File(path);
        if (!folder.exists()){
            folder.mkdirs();
        }
        String oldName = file.getOriginalFilename();
        String newName= UUID.randomUUID().toString()+oldName.substring(oldName.lastIndexOf("."));
        try {
            file.transferTo(new File(path+newName));
            String newName1 =req.getScheme()+"://"+req.getServerName()+":"+req.getServerPort()+req.getContextPath()+format+ newName;
            return newName1;
//            return path;
        } catch (IOException e) {
            e.printStackTrace();
        }
        return "";
    }

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章           查看所有文章
加:2022-05-06 10:55:43  更:2022-05-06 10:58:39 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 0:32:43-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码