首页 > 其他分享 >springboot上传文件

springboot上传文件

时间:2023-12-03 16:11:17浏览次数:41  
标签:文件 springboot fileName file new tempName 上传 append String

private final static String FILE_UPLOAD_PATH = "D:\\upload\\";
    @RequestMapping(value = "/uploadFile",method = RequestMethod.POST)
    @ResponseBody
    public R uploadFile(@RequestParam("file") MultipartFile file){
        if (file.isEmpty()){

        }
        String fileName = file.getOriginalFilename();
        String suffixName = fileName.substring(fileName.lastIndexOf("."));
        //生成文件名称通用方法
        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd_HHmmss");
        Random r = new Random();
        StringBuilder tempName = new StringBuilder();
        tempName.append(sdf.format(new Date())).append(r.nextInt(100)).append(suffixName);
        String newFileName = tempName.toString();
        try {
            //保存文件
            byte[] bytes = file.getBytes();
            Path path = Paths.get(FILE_UPLOAD_PATH+newFileName);
            Files.write(path,bytes);
        }catch (IOException e){
            e.printStackTrace();
        }
        return R.ok().data("url","file:///D:/upload/20231203_15332731.png");
    }

  

前台代码

<el-form-item label="讲师头像">

          <!-- 头衔缩略图 -->
          <pan-thumb :image="teacher.avatar"/>
          <!-- 文件上传按钮 -->
          <el-button type="primary" icon="el-icon-upload" @click="imagecropperShow=true">更换头像
          </el-button>

          <!--
      v-show:是否显示上传组件
      :key:类似于id,如果一个页面多个图片上传控件,可以做区分
      :url:后台上传的url地址
      @close:关闭上传组件
      @crop-upload-success:上传成功后的回调 
        <input type="file" name="file"/>
      -->
          <image-cropper
                        v-show="imagecropperShow"
                        :width="auto"
                        :height="auto"
                        :key="imagecropperKey"
                        :url="'http://localhost:8001' + '/upload/uploadFile'"
                        field="file"
                        @close="close"
                        @crop-upload-success="cropSuccess"/>
      </el-form-item>

  

标签:文件,springboot,fileName,file,new,tempName,上传,append,String
From: https://www.cnblogs.com/sgj191024/p/17873309.html

相关文章

  • 文件管理第六章课后习题答案
    思考题:分别给出卷、块、记录、文件的定义并说明它们之间的关系。卷(Volume):定义:一个卷是一个数据存储单元,通常是指一个物理存储介质,如硬盘、磁带或光盘。卷是一个相对独立的数据集合,可以包含一个或多个文件或记录。关系:一个卷可以包含多个块、记录或文件。块(Block):......
  • SpringBoot项目jar包启动瘦身
    SpringBoot项目jar包瘦身一、背景:现在使用SpringBoot微服务的场景下,一个项目可能会引入很多个jar包依赖,这样带来的问题就是jar包特别臃肿,包含动辄几百MB的jar包文件。这样每次进行发布的时候,需要传输这么大的jar包文件,不单单是对资源带宽的消耗,也白白浪费很多时间等待……......
  • ubuntu里面的 resolv.conf 文件
     上面那个修改没有用。请使用下面那个resolved.conf进行修改。然后重启域名解析服务 systemctlrestartsystemd-resolvedsystemctlenablesystemd-resolved 备份当前的/etc/resolve.conf,并重新设置/run/systemd/resolve/resolv.conf 到/etc/resolve.conf的软链......
  • 极语言3-3 执行类运行类、文件类、模块类、进程类 成员表
    中文名字英文名称长度作用解释执行类SHELLEXECUTEINFO60用来运行一个外部程序或者打开文件、目录、网址以及打印文件。执行类成员表中文英文类型作用解释长度cbSize整数指定这个结构的大小,以字节为单位。标志fMask整数用来设置其他成员的有效性窗口hwnd整数指向本程序窗口的句柄。......
  • 极语言3-9位图类、位图标头类、位图文件类、位图信息类——成员表
    中文名字英文名称长度作用解释位图类bitmap28包含了位图数据的结构位图类——成员表分类bmType整数位图类型,其值必须为0宽度bmWidth整数位图的宽度,单位为像素高度bmHeight整数位图的高度,单位为像素长度bmWidthBytes整数每行的字节数,其值必须能被2整除。层数bmPlanes整形颜色平面数,......
  • linux文件系统管理和磁盘管理
    环境centos7.9文件系统挂载与卸载在Linux中,文件系统是通过挂载到目录上来使用的。挂载文件系统就是把一个文件系统和一个目录联系起来,使得用户可以通过这个目录来访问文件系统中的内容。文件系统挂载可以使用mount命令来实现挂载目录,如把/dev/sda1文件系统挂载到/mnt/mydisk目......
  • Vue3 读取Hdr 文件转Image显示
    import{decodeRGBE}from'@derschmale/io-rgbe';//引入io-rgbe//读取Hdr文件constReadHdrFile=(buffer:ArrayBufferLike&{BYTES_PER_ELEMENT?:undefined;})=>{consthdri=decodeRGBE(newDataView(buffer))constdata=hdri.data;......
  • SpringBoot如何使用@Scheduled创建定时任务?
    前言随着软件业务日益复杂,有时候需要创建一些定时任务以满足特定业务需求。在Java编程语言中,使用Spring框架可以轻松地创建出定时任务。SpringBoot作为Spring框架中的一员,在创建定时任务方面也提供了便利性和灵活性。本文将介绍SpringBoot如何使用@Scheduled创建定时任务。摘要......
  • 整合springboot+mybatisplus+mysql+swagger,开发后端接口
    一、版本1.springboot:2.7.82.mybatisplus:3.5.3.13.mysql:8.04.swagger:3.0二、建立数据表(省略表结构)三、新建maven工程及springboot项目1.完成后的项目目录:2.maven工程的pom文件引入依赖:点击查看代码<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http......
  • python3 打包上传pypi失败及解决方法
    1、打包及上传 1.1、安装构建和打包工具pip3installbuild#构建包的工具pip3installtwine#上传包的工具pip3installwheel#heel格式1.2创建 setup.pyfromsetuptoolsimportsetup,find_packagessetup(name='zykj-py-apollo',version='1.23.1......