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 相关文章推荐
JavaScript Math.ceil() 函数使用介绍
Dec 11 Javascript
纯javascript实现的小游戏《Flappy Pig》实例
Jul 27 Javascript
简单学习JavaScript中的for语句循环结构
Nov 10 Javascript
vue高德地图之玩转周边
Jun 16 Javascript
requireJS模块化实现返回顶部功能的方法详解
Oct 16 Javascript
jQuery实现点击下拉框中的值累加到文本框中的方法示例
Oct 28 jQuery
jquery ajaxfileupload异步上传插件
Nov 21 jQuery
从parcel.js打包出错到选择nvm的全部过程
Jan 23 Javascript
jquery 获取索引值在一定范围的列表方法
Jan 25 jQuery
jQuery基于闭包实现的显示与隐藏div功能示例
Jun 09 jQuery
JS使用遮罩实现点击某区域以外时弹窗的弹出与关闭功能示例
Jul 31 Javascript
nuxt引入组件和公共样式的操作
Nov 05 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
解析centos中Apache、php、mysql 默认安装路径
2013/06/25 PHP
phpStudy中升级MySQL版本到5.7.17的方法步骤
2017/08/03 PHP
php获取小程序码的实现代码(B类接口)
2020/06/13 PHP
Extjs学习笔记之三 extjs form更多的表单项
2010/01/07 Javascript
HTML颜色选择器实现代码
2010/11/23 Javascript
用Mootools获得操作索引的两种方法分享
2011/12/12 Javascript
浅谈javascript六种数据类型以及特殊注意点
2013/12/20 Javascript
13 款最热门的 jQuery 图像 360 度旋转插件推荐
2014/12/09 Javascript
jQuery实现渐变弹出层和弹出菜单的方法
2015/02/20 Javascript
九种原生js动画效果
2015/11/11 Javascript
全面了解javascript中的错误处理机制
2016/07/18 Javascript
AngularJS中directive指令使用之事件绑定与指令交互用法示例
2016/11/22 Javascript
详解jQuery停止动画——stop()方法的使用
2016/12/14 Javascript
JS实现最简单的冒泡排序算法
2017/02/15 Javascript
Vue2.x中的父子组件相互通信的实现方法
2017/05/02 Javascript
angular4模块中给标签添加背景图的实现方法
2017/09/15 Javascript
Vue自定义指令实现checkbox全选功能的方法
2018/02/28 Javascript
Vue中android4.4不兼容问题的解决方法
2018/09/04 Javascript
axios取消请求的实践记录分享
2018/09/26 Javascript
原生js实现获取form表单数据代码实例
2019/03/27 Javascript
如何通过shell脚本自动生成vue文件详解
2019/09/10 Javascript
js实现整体缩放页面适配移动端
2020/03/31 Javascript
Vue中函数防抖节流的理解及应用实现
2020/04/24 Javascript
python直接访问私有属性的简单方法
2016/07/25 Python
windows下安装python的C扩展编译环境(解决Unable to find vcvarsall.bat)
2018/02/21 Python
Python实现检测文件MD5值的方法示例
2018/04/11 Python
Python多线程编程之多线程加锁操作示例
2018/09/06 Python
python 3.6.2 安装配置方法图文教程
2018/09/18 Python
Python使用sorted对字典的key或value排序
2018/11/15 Python
Django使用unittest模块进行单元测试过程解析
2019/08/02 Python
HTML5实现获取地理位置信息并定位功能
2015/04/25 HTML / CSS
给女儿的表扬信
2014/01/18 职场文书
2015年测量员工作总结
2015/05/23 职场文书
能用CSS实现的就不要麻烦JavaScript了
2021/10/05 HTML / CSS
Z-Order加速Hudi大规模数据集方案分析
2022/03/31 Servers
Spring Boot项目传参校验的最佳实践指南
2022/04/05 Java/Android