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 相关文章推荐
jqPlot 基于jquery的画图插件
Apr 26 Javascript
JS遍历Json字符串中键值对先转成JSON对象再遍历
Aug 15 Javascript
JavaScript中的console.dir()函数介绍
Dec 29 Javascript
跟我学习javascript的prototype,getPrototypeOf和__proto__
Nov 17 Javascript
JavaScript来实现打开链接页面的简单实例
Jun 02 Javascript
BootStrap表单时间选择器详解
May 09 Javascript
详解前后端分离之VueJS前端
May 24 Javascript
SpringMVC+bootstrap table实例详解
Jun 02 Javascript
angular4中关于表单的校验示例
Oct 16 Javascript
原生JS+HTML5实现的可调节写字板功能示例
Aug 30 Javascript
vue实现微信二次分享以及自定义分享的示例
Mar 20 Javascript
JS常见面试试题总结【去重、遍历、闭包、继承等】
Aug 27 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
图片存储与浏览一例(Linux+Apache+PHP+MySQL)
2006/10/09 PHP
php 面试碰到过的问题 在此做下记录
2011/06/09 PHP
php高级编程-函数-郑阿奇
2011/07/04 PHP
php木马webshell扫描器代码
2012/01/25 PHP
简单谈谈PHP面向对象之标识对象
2017/06/27 PHP
PHP unset函数原理及使用方法解析
2020/08/14 PHP
SuperSlide标签切换、焦点图多种组合插件
2015/03/14 Javascript
JavaScript函数柯里化详解
2016/04/29 Javascript
jquery ajax结合thinkphp的getjson实现跨域的方法
2016/06/06 Javascript
jquery+CSS3实现3D拖拽相册效果
2016/07/18 Javascript
ES6记录异步函数的执行时间详解
2016/08/31 Javascript
vue制作加载更多功能的正确打开方式
2016/10/12 Javascript
Vue.js中数组变动的检测详解
2016/10/12 Javascript
jQuery对table表格进行增删改查
2020/12/22 Javascript
微信小程序 两种为对象属性赋值的方式详解
2017/02/23 Javascript
JS实现数组按升序及降序排列的方法
2017/04/26 Javascript
最简单的vue消息提示全局组件的方法
2019/06/16 Javascript
jQuery实现滑动星星评分效果(每日分享)
2019/11/13 jQuery
vscode调试node.js的实现方法
2020/03/22 Javascript
Vue路由 重定向和别名的区别说明
2020/09/09 Javascript
[36:29]2018DOTA2亚洲邀请赛 4.1 小组赛 A组加赛 LGD vs TNC
2018/04/02 DOTA
[52:36]VGJ.S vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
使用Python下的XSLT API进行web开发的简单教程
2015/04/15 Python
python动态性强类型用法实例
2015/05/09 Python
python通过ffmgep从视频中抽帧的方法
2018/12/05 Python
解决jupyter notebook显示不全出现框框或者乱码问题
2020/04/09 Python
浅谈keras中的keras.utils.to_categorical用法
2020/07/02 Python
The Hut德国站点:时装、家居用品、美容等
2016/09/23 全球购物
TripAdvisor越南:全球领先的旅游网站
2017/09/21 全球购物
党员群众路线对照检查材料
2014/08/31 职场文书
开票员岗位职责
2015/02/12 职场文书
4S店收银员岗位职责
2015/04/07 职场文书
小学英语听课心得体会
2016/01/14 职场文书
python中pandas.read_csv()函数的深入讲解
2021/03/29 Python
python爬虫--selenium模块
2021/03/31 Python
Python中的 No Module named ***问题及解决
2022/07/23 Python