若依框架文件上传

前端:

采用el-upload上传,通过回调on-change方法中上传:

             <el-upload
               ref="uploadRef"
                action=""  
                accept=".xlsx, .xls"
                :auto-upload="false"
                :on-change="handleChange"
                :show-file-list="false"
              >
              <el-button 
              type="primary"
              size="mini"
              >上传</el-button>
              </el-upload>

上传方法:

 handleChange(file) {
    console.log(file)
     if(file!=null){
        let formData = new FormData();
        formData.append('file', file.raw)
        uploadFile(formData).then(response => {
             console.log(response)
            this.msgSuccess("上传成功!");
        });
     }
    }

请求接口:

export function uploadFile(data) {
  return request({
    url: '/xxx/xxx',
    method: 'post',
    data: data
  })
}

后端:

  @PostMapping("/xxx")
    public AjaxResult uploadFile(@RequestParam("file") MultipartFile file){

            String fileName =  file.getOriginalFilename();
             File file_dir= new File("d:/upload");
             if(!file_dir.exists()) {
                 file_dir.mkdirs();
             }
             
             int fileNamelength = file.getOriginalFilename().length();
             if (fileNamelength > FileUploadUtils.DEFAULT_FILE_NAME_LENGTH)
             {
                 throw new FileNameLengthLimitExceededException(FileUploadUtils.DEFAULT_FILE_NAME_LENGTH);
             }           
             FileUploadUtils.assertAllowed(file, MimeTypeUtils.DEFAULT_ALLOWED_EXTENSION);
             File desc = createAbsoluteFile("d:/upload", fileName);
             file.transferTo(desc); 

}



    private static final File createAbsoluteFile(String uploadDir, String fileName) throws IOException
    {
        File desc = new File(uploadDir + File.separator + fileName);

        if (!desc.getParentFile().exists())
        {
            desc.getParentFile().mkdirs();
        }
        if (!desc.exists())
        {
            desc.createNewFile();
        }
        return desc;
    }    

  • 6
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值