码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Java 文件上传与下载


    文章目录

          • Ⅰ、文件上传
            • 一、form-data 类型
              • 1、postMan 请求
              • 2、文件上传接口
              • 3、 测试
            • 二、binary 类型
              • 1、postMan 请求
              • 2、文件上传接口
              • 3、测试
            • 三、springboot 配置
            • 四、总结
          • Ⅱ、文件下载
            • 一、下载本地资源
            • 二、下载网络资源
    Ⅰ、文件上传
    一、form-data 类型

    form-data 类型即常用的表单提交

    两种处理参数的方式

    • MultipartFile 类接受前台传过来的文件
    • part 接收字节流

    @RequestPart 作用类似 @RequestParam

    1、postMan 请求

    在这里插入图片描述

    2、文件上传接口

    直接上代码

    @RestController
    public class TestFile {
        private BufferedOutputStream bufferedOutputStream = null;
    
        @RequestMapping(value = "/upload", method = RequestMethod.POST)
        @ResponseBody
        public String readFile(HttpServletRequest request, @RequestParam("name") String name, @RequestPart("file1") MultipartFile file3,@RequestPart("photo") MultipartFile photo) throws IOException, ServletException {
           
            String path= "I:\spring\spring-mybatis-plus\src\main\resources\public\static\";
    
            System.out.println(name);
            /*
            第一种 : 使用 MultipartFile 封装好的 transferTo() 方法保存文件
            photo.transferTo(new File(path+photo.getOriginalFilename()));
    
            第二种 :  使用 MultipartFile 字节流保存文件
             fileUtil(file3, String.valueOf(path));
    
    		第三种 :  使用 Part 接收文件字节流
            Part file2 = request.getPart("file2");
            file2.write(path + file2.getSubmittedFileName());
            */
    		// request.getParts() 获取的是全部参数(name,age,file1,file2),包括文件参数和非文件参数
            for (Part part : request.getParts()) {
                // 获取文件类型
               part.getContentType();
                // 获取文件大小
               part.getSize();
                // 获取文件名
               part.getSubmittedFileName();
               // 获取参数名 (name,age,file1,file2)
           
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
  • 相关阅读:
    计算机网络-谢希仁-第7版 第5章 运输层
    matlab 求数字积分
    Linux 软件安装目录
    当 SQL DELETE 邂逅 Table aliases,会擦出怎样的火花
    线性DP算法的实现
    Java项目实战《苍穹外卖》 三、登录功能
    Docker 部署 MySQL 8
    基于java+springmvc+mybatis+vue+mysql的医院设备管理系统
    linux系统-umask详解
    购物网站的秒杀计时器实现
  • 原文地址:https://blog.csdn.net/m0_67401746/article/details/126801800
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号