当前位置: 首页 > news >正文

4.若依框架上传文件

1.服务端代码-控制器

  /***  上传文件*/@PostMapping("/upload")@Operation(summary = "上传")public AjaxResult uploadFile(MultipartFile file) throws Exception {try {// 上传文件路径String filePath = RuoYiConfig.getUploadPath();// 上传并返回新文件名称String fileName = FileUploadUtils.upload(filePath, file);String url = serverConfig.getUrl() + fileName;AjaxResult ajax = AjaxResult.success();ajax.put("url", url);ajax.put("fileName", fileName);ajax.put("newFileName", FileUtils.getName(fileName));ajax.put("originalFilename", file.getOriginalFilename());return ajax;} catch (Exception e) {return AjaxResult.error(e.getMessage());}}

2.服务端代码-上传文件的方法

  /*** 文件上传** @param baseDir 相对应用的基目录* @param file 上传的文件* @param allowedExtension 上传文件类型* @return 返回上传成功的文件名* @throws FileSizeLimitExceededException 如果超出最大大小* @throws FileNameLengthLimitExceededException 文件名太长* @throws IOException 比如读写文件出错时* @throws InvalidExtensionException 文件校验异常*/public static final String upload(String baseDir, MultipartFile file, String[] allowedExtension)throws FileSizeLimitExceededException, IOException, FileNameLengthLimitExceededException,InvalidExtensionException{int fileNamelength = Objects.requireNonNull(file.getOriginalFilename()).length();if (fileNamelength > FileUploadUtils.DEFAULT_FILE_NAME_LENGTH){throw new FileNameLengthLimitExceededException(FileUploadUtils.DEFAULT_FILE_NAME_LENGTH);}assertAllowed(file, allowedExtension);String fileName = extractFilename(file);String absPath = getAbsoluteFile(baseDir, fileName).getAbsolutePath();file.transferTo(Paths.get(absPath));return getPathFileName(baseDir, fileName);}

3.前端 -JS

// 公共方法-上传文件
export function uploadFile(file) {const formData = new FormData()formData.append('file', file)request({url: '/common/upload',method: 'post',data: formData}).then(res=>{alert(JSON.stringify(res));});}

4.前端-Vue

  <el-table-column prop="date" label="文件模板" width="180"><template slot-scope="scope"><input type="file" @change="fileUploadChange($event)" /></template></el-table-column>
 //文件上传控件改变fileUploadChange(e) {console.log(e);alert(e.target.files[0]);uploadFile(e.target.files[0]).then((res) => {alert(JSON.stringify(res));});},

5. 注意点

前端传值的参数要写成data:xx;不能写成file:xx

http://www.lryc.cn/news/140316.html

相关文章:

  • Property ‘sqlSessionFactory‘ or ‘sqlSessionTemplate‘ are required
  • idea的debug断点的使用
  • 【UE】蓝图通信——事件分发器
  • Python爬虫分布式架构问题汇总
  • AIGC人工智能涉及三十六职业,看看有没有你的职业(一)
  • 万界星空科技/免费MES系统/免费质量检测系统
  • 解决IndexError: index 0 is out of bounds for axis 1 with size 0
  • Java中hashTable的基本介绍,细节讨论,使用注意事项,常用方法和底层的扩容机制
  • redis -实战记录
  • Mysql知识梳理
  • 文生图模型之Stable Diffusion
  • Java List循环安全删除元素
  • 2023年03月 C/C++(三级)真题解析#中国电子学会#全国青少年软件编程等级考试
  • bert-base-chinese 判断上下句
  • vue3+vue-cli使用mockjs
  • Android 全局监听软键盘弹起隐藏 动态修改布局并适配无限循环的问题
  • 第 k 小整数
  • LeetCode 1448. 统计二叉树中好节点的数目:DFS
  • AR室内导航技术之技术说明与效果展示
  • 06-Numpy基础-线性代数
  • SpringBootWeb 登录认证
  • 【JVM 内存结构丨栈】
  • LeetCode 138.复制带随机指针的链表
  • 基于SSM的小说网站的设计与实现(论文+源码)_kaic
  • 【Python】代理池针对ip拦截破解
  • P1065 [NOIP2006 提高组] 作业调度方案
  • 设计模式三原则
  • dll载入时发生的事情
  • k8s-ingress-context deadline exceeded
  • css盒模型