Vue

<el-dialog title="上传" :visible.sync="dialogVisit" > //对话框组件<el-upload //上传组件ref="upload"style="margin-left: 50px;"accept=".pdf" //接收的类型class="avatar-uploader"action="#":auto-upload="true":show-file-list="false"enctype="multipart/form-data":http-request="upload" //上传方法:before-upload="beforeUpload" //上传前的校验list-type="picture-card"><i class="el-icon-plus"></i></el-upload>
</el-dialog><script lang="ts">private dialogVisit = false; //为true是显示对话框private async upload(file) {let formData = new FormData();formData.append("file",file.file);const { data } = await uploadPdf(formData); //上传方法this.data = data.data;console.log(data);if (data.status == 200) {this.$message.success("pdf文件上传成功");}else {this.$message.error('pdf文件上传失败,'+data.msg);}}
</script>

API

export const uploadPdf =(data: any)=>request({url:"/api/uploadPdf",method: "post",data});

Service.java

String uploadPdf(Integer id,MultipartFile file, HttpServletRequest request)

ServiceImpl.java

   @Overridepublic String uploadPdf(Integer id,MultipartFile file, HttpServletRequest request) {try {request.setCharacterEncoding("UTF-8");}catch (UnsupportedEncodingException e) {throw new RuntimeException(e);}String filename = file.getOriginalFilename();// 文件是否为空if (StringUtils.isEmpty(filename)) {throw new RuntimeException("文件名为空");}//获取文件后缀名String suffixName = filename.substring(filename.lastIndexOf(".") + 1);if (!suffixName.equals("pdf")) {throw new RuntimeException("上传的文件非PDF格式");}//限制上传文件大小最大为10Mif (file.getSize() > 10485760) { //10Mthrow new RuntimeException("上传的PDF文件大于10M");}try {byte[] bytes = file.getBytes();// 数据库已有数据进行修改File newfile = new File().setId(id).setData(bytes);//使用mybatisPlus的BaseMapper,修改数据库的data,把pdf已bytes的形式存入数据库fileMapper.updateById(newfile); // 新插入数据//fileMapper.insert(newfile)}catch (IOException e) {e.printStackTrace();}return "成功"; //返回统一的结果封装类}

Controller.java

  @PostMapping("uploadPdf/{id}")public String uploadPdf(@PathVariable Integer id, @RequestParam("file") MultipartFile file, HttpServletRequest request) {return fileService.uploadPdf(id,file,request);}

PDF上传到数据库(Springboot+Vue+Axios+MybatisPlus)相关推荐

  1. vue上传文件到php,vue+axios+php如何实现上传文件功能?,formdata上传文件附加参数...

    vue+axios+php如何实现上传文件功能?Vue Axios PHP如何实现上传文件的功能?, 推荐:<PHP视频教程> 当我们提交表单时,我们经常会遇到一些表单提交要求.vue的a ...

  2. elementui 按钮 表单_前后端分离,文件上传下载(springBoot+vue+elementUI)

    1.介绍 本文主要是介绍前后端分离的上传下载,后端使用的是SpringBoot,持久层用的是mybatis-plus,前端用的Vue,UI用的elementUI,测试了一下,文本,图片,excel,都 ...

  3. 基于ruoyi+vue+elementUI实现列表,新增,附件上传,tab+springBoot+mybatis+oracle序列+批量新增

    基于ruoyi+vue+elementUI实现列表,新增,附件上传,tab+springBoot+mybatis+oracle序列+批量新增 页面效果 列表页面 新增页面 详情页面 代码实现 列表+新 ...

  4. C#:将图片文件上传到数据库两种方法。

    (推荐)方法1: 将图片复制到指定文件夹,在数据库中存储图片路径,通过读取路径来显示图片. string str;private void toolStripButton1_Click(object ...

  5. asp如何将图片文件上传到mysql数据库中_怎样才能利用ASP把图片上传到数据库

    欢迎来到小编的文章进行学习阅读,想必大家又有很多问题吧,在这里会有你想要收获的答案,请大家慢慢学习吧! ASP(Active Server Pages)是Microsoft很早就推出的一种WEB应用程 ...

  6. word表格导出html代码,(网页源代码中的表格数据怎么导出excel)如何将把从WORD、EXCEL中复制的内容转换成HTML源代码,再通过网页表单提交上传到数据库?...

    如何将ASP页面中的表格生成一个Excel表,求源码 '给你个例子吧.保存为 asp文件看看.具体就在第一句. New Page 1PJ计画 第版 案件No 案件名 主门 顾客 PJ责任者 営业担当 ...

  7. mysql如何上传照片_MySQL数据库之图片上传存储数据库的2种方法讲解(Mysql)

    本文主要向大家介绍了MySQL数据库之图片上传存储数据库的2种方法讲解(Mysql) ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 数据库Mysql存储,读取图片 在项目中,很 ...

  8. 利用mysql实现上传和下载_将文件上传到数据库 和 从数据库下载文件到本地

    有时候我们需要把图片.文档.dll文件.等等,上传的数据库,然后当需要的时候再从数据库中读取到本地,下面我以上传图片为例,讲解一下如何把本地的一张图片上传到数据库,然后再从数据库下载到本地. 工具:V ...

  9. fileUpload实现普通表单和file图片上传到数据库

    fileUpload实现普通表单和file图片上传到数据库 效果图: 实现 jsp:页面 servelt:控制器 service:逻辑操作 dao:数据库操作 domain:javaBean类 首先需 ...

最新文章

  1. 基于Flink+ClickHouse构建实时游戏数据分析最佳实践
  2. 答应我不要问TCP三次握手四次挥手
  3. unity hub服务器无响应_累积更新KB4541335反馈称无法安装 出现无响应情况
  4. Leetcode 172 Factorial Trailing Zeroes
  5. Mysql简介和Mysql优化查询的方法
  6. PSD分层立体数据模板立体数据统计素材
  7. Linux学习笔记之1——文件和目录管理(硬连接和软连接)(连结档,相当于快捷方式)...
  8. 计算机史话 —— 回车和换行 与 文本文件和二进制文件
  9. 45. 圆圈中最后剩下的数字
  10. 若无云,岂有风——词语语义相似度计算简介
  11. 小乌龟SVN安装和使用
  12. Python自动化办公之Word,超全总结【建议收藏】
  13. clearcase 常用命令
  14. 基于html5的网上订餐系统,基于WEB的网上订餐系统-任务书.doc
  15. 如何用计算机控制ipad,躺在床上玩电脑,使用ipone ipad远程控制LAN计算机-ipad如何连接到计算机...
  16. 7.7.4 积分卡管理系统示例
  17. 正则表达式在线测试通过,java运行通不过
  18. 响应式编程在Android中的应用
  19. 通过DataEase行列权限设置实现数据权限管控
  20. Android4.4 往短信收件箱中插入自定义短信(伪造短信)

热门文章

  1. 薪资16K,在阿里外包工作是一种什么体验...
  2. C++ 模板的显式具体化
  3. luogu3371 :【模板】单源最短路径(弱化版):图论+spfa
  4. 高性价比高续航蓝牙耳机推荐,五款游戏低延迟蓝牙耳机
  5. pxcook导出html代码,Pxcook标注工具的相关使用说明
  6. MySql性能测试工具-sysbench
  7. 清华北大计算机专业一般录取分数,考研考上清华北大的计算机专业需要有多努力?计算机考研院校排名!...
  8. 黑科技小工具-uTools
  9. 网络测速插件speedtest
  10. 2022中国眼镜展,山东国际眼睛健康与视力防控产业展览会