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

阆中市住房和城乡建设局网站百度网站建设技术

阆中市住房和城乡建设局网站,百度网站建设技术,网站板块模板,移动端网站制作模板【写在前面】其实这篇文章我早就想写了#xff0c;只是一直被需求开发耽搁#xff0c;这不晚上刚好下班后有点时间#xff0c;记录一下。需求是excel表格的上传#xff0c;这个是很多业务系统不可或缺的功能点#xff0c;再此也希望您能够读完我这篇文章对文件上传不再困惑…【写在前面】其实这篇文章我早就想写了只是一直被需求开发耽搁这不晚上刚好下班后有点时间记录一下。需求是excel表格的上传这个是很多业务系统不可或缺的功能点再此也希望您能够读完我这篇文章对文件上传不再困惑。文件下载见另外一篇 涉及知识点java实现文件上传vue实现文件上传swagger测试。 目录一、思路整理二、实现效果三、实现过程前后端源码1、上传路径设置2、java接口实现源码核心3、前端实现源码基于vue3.1 创建input标签3.2 方法函数3.3 axios请求配置核心4、功能测试swagger和debugger四、彩蛋上皇榜一、思路整理 首先我们在写一个项目或一个功能的时候脑海里就应该去勾勒一下实现过程我大致归纳为以下几点 1、上传环境的准备也就是文件上传到哪本地或服务器或虚机 2、上传代码的开发前后端页面的准备依赖组件下载 3、自主测试看效果 二、实现效果 文件的上传效果 三、实现过程前后端源码 1、上传路径设置 鉴于很多人没有服务器或虚机我就用本地作为示例首先我们先创建一个maven项目工程众所周知java运行后都是编译成class文件所以我们将上传的路径设置在classes下的template里。 获取存放文件路径的方式 String filePath this.getClass().getResource(/template/).getPath();2、java接口实现源码核心 具体java实现代码如下其中所需要的插件需要自己引入 Overridepublic void uploadTemplate(MultipartFile file) throws Exception {boolean bupload(file);}public boolean upload(MultipartFile file) throws Exception {boolean b false;String filePath this.getClass().getResource(/template/).getPath();String fileName file.getOriginalFilename();try {UploadState state null;File oldFile new File(filePathfileName);if (oldFile.exists()) {oldFile.delete();}state UploadFileUtils.upload4Stream(fileName, filePath, file.getInputStream());if (state.getFlag() UploadState.UPLOAD_SUCCSSS.getFlag()) {b true;} else {b false;}} catch (IOException e) {logger.error(e.getMessage(), e);throw e;} catch (Exception e) {logger.error(e.getMessage(), e);throw e;}return b; }此处需要前端注意的是需要传binary形式的入参也就是接口调用时前端的请求参数为 不然后端也不能处理。 3、前端实现源码基于vue 3.1 创建input标签 首先我们创建一个input 标签type为file用于选择上传文件的临时节点如下所示 inputtypefileclassupload_filechangeupload_files($event)accept.pdf, .doc, .docx, .xls, .xlsx /设置input的change事件触发上传函数另外设置其所接受的上传文件的类型我暂时针对pdf,word.excel文档类型做了设置。 3.2 方法函数 在vue的methods里面设置upload_files方法 methods: {upload_files: function (e) {const file e.target.files[0];console.log(file);uploadFiles(file);},},针对uploadFiles方法体我是专门放在js文件里的然后再调用axios里的公用方法。 export const uploadFiles (params) { return requpload(post, portHead /Updown/uploadTemplate, params) };3.3 axios请求配置核心 我是直接用post请求的方式如下所示 const requpload (method, url, file) {let params new FormData();params.append(file, file);axios.post(url, params).then((response) {console.log(上传文件了响应)console.log(response)Toast.success(上传成功);// this.$message.success(成功)}).catch(function (err) {console.log(上传文件了失败)console.log(err) //捕获异常Toast.fail(上传失败);// this.$message.error(失败)}) };4、功能测试swagger和debugger 当前后端都搭建好了然后启动前后端程序在前端页面上点击上传按钮然后看请求是否200且文件是否上传到classes的template下。如果失败了切记先看后端接口是否通的用postman或是swagger(最好用swagger3测试因为2版本有中文乱码问题)如果后端通的就需要通过debugger模式来定位前端的传参的问题切记是binary形式。 最终效果如下所示 四、彩蛋上皇榜 如有不太清楚的可以留言哈一起探讨一起进步期待您的反馈。 如果觉得这篇文章对您有帮助的话想支持博主的可以上皇榜看看哟皇榜点击此处进入
http://www.dnsts.com.cn/news/103152.html

相关文章:

  • 销售平台网站建设ppt模板大师
  • 品牌网站建设收费情况微信商城后台管理系统
  • 视频变成网站怎么做的百度关键词seo公司
  • 哈尔滨网站开发需要多少钱阿里云营销网站建设
  • 免费手机建网站平台wordpress 编辑器添加自定义按钮
  • 做网站时无法上传图片台山网页设计培训
  • 如何创作个人网站网站开发个人简历
  • 企业建站设计官方进一步优化
  • 网站建设公司哪家最好0网站建设公司宣传册
  • 凯里网站设计公司湛江seo代理商
  • 做网站的市场有那么大吗企网官方网站
  • 温州微网站制作电话刀客源码网
  • 浦东手机网站建设青岛公司建站
  • 票务网站做酒店推荐的目的杭州行业网页设计公司
  • .net网站 作品网站系统繁忙
  • 广州网站定制开发网站建设公司不挣钱的原因
  • 做餐饮网站直播软件推荐
  • 电商网站建设培训班网站建设开题报告中的问题
  • 办公用品网站建设可行性分析江门网站优化方案
  • 做陶瓷的公司网站计算机培训机构排名前十
  • 哪里有制作网站服务怎样做才能发布你的网站
  • 网站空间申请开通怎么创建游戏平台
  • 名字做头诗的网站北京网站制作与网站设计
  • 广东省建设工程安全协会网站南宁刚刚发生的事
  • php网站数据迁移青州市住房和城乡建设局网站
  • 上海 网站建设公司更换网站需要怎么做
  • 泰州网站建设开发网页链接提取
  • 蓝色网站模版济南最好的网站制作公司
  • 教育类网站开发文档wordpress显示同一分类的文章
  • 怎么找到php网站的首页面html如何提交网站给百度