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 相关文章推荐
另类调用flash无须激活的方法
Dec 27 Javascript
JavaScript 拾碎[三] 使用className属性
Oct 16 Javascript
读jQuery之二(两种扩展)
Jun 11 Javascript
学习JavaScript设计模式之中介者模式
Jan 14 Javascript
Node.js编写组件的三种实现方式
Feb 25 Javascript
Jquery插件仿百度搜索关键字自动匹配功能
May 11 Javascript
Javascript获取图片原始宽度和高度的方法详解
Sep 20 Javascript
详解如何使用vue-cli脚手架搭建Vue.js项目
May 19 Javascript
Vue axios全局拦截 get请求、post请求、配置请求的实例代码
Nov 28 Javascript
微信小程序当前时间时段选择器插件使用方法详解
Dec 28 Javascript
vue+axios实现post文件下载
Sep 25 Javascript
js实现贪吃蛇小游戏(加墙)
Jul 31 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 object转数组示例
2014/01/15 PHP
PHP扩展CURL的用法详解
2014/06/20 PHP
php的XML文件解释类应用实例
2014/09/22 PHP
php实现图片添加描边字和马赛克的方法
2014/12/10 PHP
用 javascript 实现的点击复制代码
2007/03/24 Javascript
十个迅速提升JQuery性能让你的JQuery跑得更快
2012/12/10 Javascript
浅析document.createDocumentFragment()与js效率
2013/07/08 Javascript
js实现连续英文字符自动换行兼容ie6 ie7和firefox
2013/09/06 Javascript
javascript实现时间格式输出FormatDate函数
2015/01/13 Javascript
js控制输入框获得和失去焦点时状态显示的方法
2015/01/30 Javascript
javascript电商网站抢购倒计时效果实现
2015/11/19 Javascript
javascript实现一个网页加载进度loading
2017/01/04 Javascript
jQuery插件MovingBoxes实现左右滑动中间放大图片效果
2017/02/28 Javascript
js制作简单的音乐播放器的示例代码
2017/08/28 Javascript
js注册时输入合法性验证方法
2017/10/21 Javascript
JS正则表达式常见用法实例详解
2018/06/19 Javascript
bootstrap-treeview实现多级树形菜单 后台JSON格式如何组织?
2019/07/26 Javascript
浅谈webpack和webpack-cli模块源码分析
2020/01/19 Javascript
vue中的循环对象属性和属性值用法
2020/09/04 Javascript
Python 对象中的数据类型
2017/05/13 Python
Python之py2exe打包工具详解
2017/06/14 Python
Python设计模式之工厂模式简单示例
2018/01/09 Python
opencv python 图像轮廓/检测轮廓/绘制轮廓的方法
2019/07/03 Python
python调用接口的4种方式代码实例
2019/11/19 Python
Django 路由层URLconf的实现
2019/12/30 Python
销售自荐信
2013/10/22 职场文书
校运会入场式解说词
2014/02/10 职场文书
优秀党支部书记事迹材料
2014/05/29 职场文书
自我推荐信怎么写
2015/03/24 职场文书
邮政营业员岗位职责
2015/04/14 职场文书
普通员工辞职信范文
2015/05/12 职场文书
师范生小学见习总结
2015/06/23 职场文书
公司车辆维修管理制度
2015/08/05 职场文书
html实现随机点名器的示例代码
2021/04/02 Javascript
java Nio使用NioSocket客户端与服务端交互实现方式
2021/06/15 Java/Android
青岛市的收音机研制与生产
2022/04/07 无线电