1 前端用formdata()的方式提交

        //创建一个新的canvasvar canvas = document.createElement("canvas");var content = document.getElementById('Home-Container');var aLink =document.createElement('a');//  aLink.setAttribute('download', uuid);var w = content.offsetWidth ;var h = content.offsetHeight;
//可以按照自己的需求,对context的参数修改,translate指的是偏移量
//  var context = canvas.getContext("2d");
//  context.translate(0,0);var context = canvas.getContext("2d");context.scale(2, 2);html2canvas(content, {width:w,height:h,windowWidth: document.body.scrollWidth,windowHeight: canvas.scrollHeight}).then(function(canvas) {//document.body.appendChild(canvas);//canvas转换成url,然后利用a标签的download属性,直接下载,绕过上传服务器再下载//aLink.setAttribute('href', canvas.toDataURL());let src = canvas.toDataURL("image/png")//这里转成的是base64的地址,直接用到img标签的src是可以显示图片的var fd = new FormData();function dataURItoBlob(dataURI) {//图片转成Buffervar byteString = atob(dataURI.split(',')[1]);var mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0];var ab = new ArrayBuffer(byteString.length);var ia = new Uint8Array(ab);for (var i = 0; i < byteString.length; i++) {ia[i] = byteString.charCodeAt(i);}return new Blob([ab], {type: mimeString});}var blob = dataURItoBlob(src);fd.append('source_from','webpage_upload')//在formdata加入需要的参数fd.append('file',blob)let config = {//添加请求头headers: { 'Content-Type':'multipart/form-data'}};//  获取form所有数据const instance=axios.create({responseType: 'blob'})instance.post(url.System.createReport+"?TIME="+window.TIME0+"&RYZ="+window.RYZ0+"&ZD="+window.ZD0+"&AD="+window.AD0+"&PH="+window.PH0+"&SW="+window.SW0+"&NODENAME="+window.nodeName+"&YLS="+window.YLS0+"&DL="+window.DL0+"&DY="+window.DY0+"&DEPTH="+window.DEPTH0+"&LAT="+window.LAT0+"&LON="+window.LON0+"&YHHYDW="+window.YHHYDW0,fd,config).then(res => {const content = res.dataconst blob = new Blob([content])const fileName = '下载的文件.docx'if ('download' in document.createElement('a')) {//非ie下载const elink = document.createElement('a')elink.download = fileNameelink.style.display = 'none'elink.href = URL.createObjectURL(blob)document.body.appendChild(elink)elink.click()URL.revokeObjectURL(elink.href)document.body.removeChild(elink)} else {//ie10+下载navigator.msSaveBlob(blob, fileName)}})aLink.click();});

2 后台获取文件

 MultipartHttpServletRequest multipartRequest=(MultipartHttpServletRequest) request;InputStream file1 =multipartRequest.getFile("file").getInputStream();

ajax发送FormData,后台接收相关推荐

  1. java后台解析json并保存到数据库_[Java教程]ajax 发送json 后台接收 遍历保存进数据库...

    [Java教程]ajax 发送json 后台接收 遍历保存进数据库 0 2017-09-25 15:00:23 前台怎么拿参数的我就不管了我也不会 反正用这个ajax没错 ajax 代码   一定要写 ...

  2. Form组件,用ajax发送到后台需要的注意事项

    form通过ajax发送到后台, 后台无法直接返回跳转页面,因为,ajax无法接受跳转命令 后台验证完成后,错误信息因为不是常规Python的字典格式,所以需要引入ErrorDict views文件 ...

  3. ajax参数传递与后台接收【转存】

    ajax参数传递与后台接收 Servlet中读取http参数的方法 Enumeration getParameterNames() 返回一个 String 对象的枚举,包含在该请求中包含的参数的名称 ...

  4. ajax传递数组后台接收不到值的问题

    背景: JQGrid需要进行批量删除操作传给后台的是数组,结果后台接收不到值. 后台语言:java 原因: ajax传递参数时,traditional 默认为false,JQuery会深度序列化参数对 ...

  5. Ajax发送formdata数据,SpringMVC后台处理

    撸了今年阿里.头条和美团的面试,我有一个重要发现.......>>> 前端js: var submit_data = new FormData(); var name = $(&qu ...

  6. ajax post请求发送数组后台接收

    www.yanand.me 加上traditional: true, 转载于:https://www.cnblogs.com/terry0376/p/5620057.html

  7. 使用JQuery Ajax发送FormData数据

    视图页面的代码 1.先创建一个FormData:var form = new FormData(); 2.然后进行数据的封装:form.append("封装数据的名字",数据),例 ...

  8. iphone 使用AJAX发送FormData文件,踩坑

    事呢,就是这么个事.iphone如果你发送的formdata数据中文件有空,在数据表现为file.size==0;此时试用iphone是会发送失败的:无奈只好做个判断了: 1. 问题分析 /* * 为 ...

  9. 用jsonserve和axios做交互_详解解决使用axios发送json后台接收不到的问题

    问题描述 按照axios官网例子发起请求传递json,后台接受到的数据为空,一直卡在options阶段. 尝试的方法 开始以为是接口有问题,使用postman测试下,一切正常,百思不得其解,看了好多i ...

最新文章

  1. js获取浏览器当前时间
  2. 【转】如何上传本地音乐作为百度空间背景音乐
  3. PhpStorm快捷键
  4. 【Linux】一步一步学Linux——chown命令(112)
  5. leetcode 316. Remove Duplicate Letters | 316. 去除重复字母(单调栈解法)
  6. Spring中BeanPostProcessor 执行过程
  7. 删除.svn文件夹方法(转)
  8. php怎么异步执行,php中异步执行的四种方式
  9. 最新小额借贷系统完整源码+附教程文档
  10. 路由交换实验一——CISCO路由器的基本配置
  11. 模糊逻辑基本原理与编程
  12. OpenCv识别多条形码
  13. 「圆桌」无人驾驶何时来?| 甲子引力
  14. MYSQL数据库(九)- 修改数据表名称、列名称
  15. java 写文件filewriter_使用FileReader和FileWriter读取写入文件内容
  16. 硬盘知识大全(含主板、BIOS)
  17. 递归算法计算Legendre多项式
  18. visio电路图怎么连线_还在用visio画电路图?不看后悔!
  19. 《矩阵理论》大萌课程笔记 - 线性空间与子空间
  20. meterpreter使用详解

热门文章

  1. Thymeleaf常用的th标签属性
  2. python 文本转语音播放失败_win下使用PyQt的Phonon播放失败
  3. CTF密码学题目初探(二)
  4. vue跳转下个页面关闭当前页面_vue页面跳转 vue生命周期
  5. MySQL Connectors组件8.0.12及之前版本的Connector/J子组件存在安全漏洞及其相关性分析
  6. 山东工商学院计算机2军训,山东工商学院新生军训项目内容和军训时间安排表...
  7. CMOS工艺的反相器版图
  8. MicroBlaze:Xilinx官方软核学习与一些实验测试
  9. python pandas 将结果输出到excel的sheet页——pd.ExcelWriter
  10. Python基础知识入门(二)