axios实现简单文件上传功能


Posted in Javascript onSeptember 25, 2019

本文实例为大家分享了axios实现文件上传功能的具体代码,供大家参考,具体内容如下

前台页面:

引入axios js文件

<script src="https://unpkg.com/axios/dist/axios.min.js"></script>

HTML:

<input type="file" name="img"/>
<br>
<span οnclick="upload()">上传图片</span>

JS:

function upload() {
 alert("上传")
 let file = document.getElementsByName('img')[0].files[0];
 
 let formData = new FormData();
 formData.append("uploadFile",file,file.name);
 
 const config = {
 headers: { "Content-Type": "multipart/form-data;boundary="+new Date().getTime() }
 };
 
 axios
 .post("/file/upload",formData,config)
 .then(function (response) {
  console.log(response);
 })
 .catch(function (error) {
  console.log(error);
 });
}

后台接收:

@PostMapping(value = "/upload")
public String upload(HttpServletRequest request){
 logger.info("开始上传……");
 
 MultipartHttpServletRequest servletRequest = (MultipartHttpServletRequest) request;
 Map<String, MultipartFile> fileMap = servletRequest.getFileMap();
 for (Map.Entry entry : fileMap.entrySet()) {
 logger.info("name : {}",entry.getKey());
 MultipartFile multipartFile = (MultipartFile) entry.getValue();
 try {
  FileUtil.writeFile(multipartFile.getInputStream(),path+"/12_"+multipartFile.getOriginalFilename());
 } catch (IOException e) {
  e.printStackTrace();
 }
 }
 return "{'result':'OK'}";
}
 
 
@RequestMapping(value = "/uploadII")
public String uploadII(@RequestParam("uploadFile") MultipartFile uploadFile){
 logger.info("upload : {}",uploadFile);
 try {
 InputStream inputStream = uploadFile.getInputStream();
 String originalFilename = uploadFile.getOriginalFilename();
 logger.info("file : {}",originalFilename);
 FileUtil.writeFile(inputStream,path+"/"+originalFilename);
 } catch (IOException e) {
 e.printStackTrace();
 }
 return "{'result':'OK'}";
}

pox.xml:

<!-- 文件上传 -->
<dependency>
 <groupId>commons-fileupload</groupId>
 <artifactId>commons-fileupload</artifactId>
 <version>1.3</version>
</dependency>

注入CommonsMultipartResolver:

@Bean
public CommonsMultipartResolver initCommonsMultipartResolver(){
 CommonsMultipartResolver resolver = new CommonsMultipartResolver();
 resolver.setMaxUploadSize(104857600);
 resolver.setMaxInMemorySize(4096);
 return resolver;
}

GitHub:axios

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
精解window.setTimeout()&amp;window.setInterval()使用方式与参数传递问题!
Nov 23 Javascript
javascript getElementsByClassName实现代码
Oct 11 Javascript
jquery实现简单的拖拽效果实例兼容所有主流浏览器
Jun 21 Javascript
jquery查找tr td 示例模拟
May 08 Javascript
Windows8下搭建Node.js开发环境教程
Sep 03 Javascript
jQuery中hover与mouseover和mouseout的区别分析
Dec 24 Javascript
纯JavaScript代码实现文本比较工具
Feb 17 Javascript
Vue.js项目部署到服务器的详细步骤
Jul 17 Javascript
详解vuex中action何时完成以及如何正确调用dispatch的思考
Jan 21 Javascript
解决layer.open后laydate失效的问题
Sep 06 Javascript
js实现购物车商品数量加减
Sep 21 Javascript
JS函数式编程实现XDM一
Jun 16 Javascript
layer弹出层取消遮罩的方法
Sep 25 #Javascript
QML实现圆环颜色选择器
Sep 25 #Javascript
解决layer 关闭当前弹窗 关闭遮罩层 input值获取不到的问题
Sep 25 #Javascript
微信小程序实现一张或多张图片上传(云开发)
Sep 25 #Javascript
Layer组件多个iframe弹出层打开与关闭及参数传递的方法
Sep 25 #Javascript
layer 关闭指定弹出层的例子
Sep 25 #Javascript
layer关闭弹出窗口触发表单提交问题的处理方法
Sep 25 #Javascript
You might like
php 全文搜索和替换的实现代码
2008/07/29 PHP
基于PHP中的常用函数回顾
2013/07/11 PHP
PHP命令行脚本接收传入参数的三种方式
2014/08/20 PHP
详解php协程知识点
2018/09/21 PHP
js禁止小键盘输入数字功能代码
2011/08/01 Javascript
JAVASCRIPT车架号识别/验证函数代码 汽车车架号验证程序
2012/01/08 Javascript
asp.net网站开发中用jquery实现滚动浏览器滚动条加载数据(类似于腾讯微博)
2012/03/14 Javascript
javascript两种function的定义介绍及区别说明
2013/05/02 Javascript
原生Js实现元素渐隐/渐现(原理为修改元素的css透明度)
2013/06/24 Javascript
jquery设置按钮停顿3秒不可用
2014/03/07 Javascript
一张表格告诉你windows.onload()与$(document).ready()的区别
2014/05/16 Javascript
js监控IE火狐浏览器关闭、刷新、回退、前进事件
2014/07/23 Javascript
学习javascript面向对象 理解javascript原型和原型链
2016/01/04 Javascript
利用Javascript实现简单的转盘抽奖
2017/02/13 Javascript
jquery与js实现全选功能的区别
2017/06/11 jQuery
Nuxt.js踩坑总结分享
2018/01/18 Javascript
vue-cli的build的文件夹下没有dev-server.js文件配置mock数据的方法
2019/04/17 Javascript
微信小程序之侧边栏滑动实现过程解析(附完整源码)
2019/08/23 Javascript
JavaScript实现秒杀时钟倒计时
2019/09/29 Javascript
使用Typescript和ES模块发布Node模块的方法
2020/05/25 Javascript
[39:08]完美世界DOTA2联赛PWL S3 LBZS vs CPG 第一场 12.12
2020/12/16 DOTA
Python查找函数f(x)=0根的解决方法
2015/05/07 Python
Windows系统下PhantomJS的安装和基本用法
2018/10/21 Python
python3 下载网络图片代码实例
2019/08/27 Python
Python魔术方法专题
2020/06/19 Python
Python3爬虫发送请求的知识点实例
2020/07/30 Python
python Matplotlib模块的使用
2020/09/16 Python
python代数式括号有效性检验示例代码
2020/10/04 Python
大学生的自我鉴定范文
2014/01/21 职场文书
材料员岗位职责
2014/03/13 职场文书
遗嘱继承公证书
2014/04/09 职场文书
2014幼儿园小班工作总结
2014/11/10 职场文书
2016元旦文艺汇演主持词
2015/07/06 职场文书
职场干货:简历中的自我评价应该这样写!
2019/05/06 职场文书
PYTHON使用Matplotlib去实现各种条形图的绘制
2022/03/22 Python
Springboot中如何自动转JSON输出
2022/06/16 Java/Android