当前位置: 首页 > news >正文

Vue上传文件或图片摘要

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

一般图片上传都是通过表单提交进行上传,而vue也是类似这种方式进行文件图片上传。

vue是通过vue-resource三方插件进行请求网络,所以首先需要导入vue-resources.js组件库。

vue是通过获取上传文件对象,存入带请求body中,带入到请求URL操作中

代码如下:

<div id="main">
		<input ref="files" type="file" name="avatar" id="avatar" v-on:change="getImageFile">
		<button @click="upload">上传图片</button>
</div>

js代码

new Vue({

    el: '#main',
    data:{
       uploadImgFile:null
    },
    methods: {
			getImageFile(e){//获取上传图片数据对象
				e.preventDefault();
				this.uploadImgFile = e.target.files;
			},
			upload: function(e) {
				var data = new FormData();
				data.append('avatar', this.uploadImgFile[0]);//组成格式{0: File, length: 1}
				this.$http({
					method: "POST",
					url: "http://127.0.0.1:8089/mf-mobile/uploadImage.do",
					headers: {
						'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
					},
					body:data,//文件数据存入请求body中
					params: {
						userId: localStorage.getItem("userId"),
						thirdSession: localStorage.getItem("thirdSession")
					}
				}).then(function(res) {
					console.info(res.data);					
				}, function(error) {});       
			}
		}

})

服务端接收代码

  @RequestMapping(value = "/uploadImage.do", method = RequestMethod.POST)
    public void uploadImage(@RequestParam(value = "avatar", required = false)CommonsMultipartFile file, HttpServletRequest request, HttpServletResponse response) {
            //获取源文件
           String fileName = file.getOriginalFilename();
          //获取文件后缀
         String suffix = fileName.substring(fileName.lastIndexOf("."), fileName.length());
       //........
}

 

转载于:https://my.oschina.net/u/2251646/blog/1438984

相关文章:

  • execvp
  • Java 读写文件大全
  • Selenium-Grid2 配置RemoteWebDriver
  • 错误备忘_ArcGIS_MatLab_ArcGIS 和 MatLab 集成时权限问题造成 MatLab 做图抛出系统内存错误...
  • 计算IMEI号的校验位
  • 删除所有的用户表,存储过程,游标的应用,动态SQL的使用
  • 简单的回顾
  • Memcached的线程模型及状态机
  • pre标签内文本自动换行
  • 最大熵工具包的使用
  • iptables开启,通过nginx无法访问php程序
  • 在linux系统(CentOS)上安装中文支持包
  • Android -- Glide框架详解(一)
  • win7下开启web服务器
  • Graylog2+Elasticsearch+Nxlog
  • Bytom交易说明(账户管理模式)
  • CentOS 7 修改主机名
  • express + mock 让前后台并行开发
  • Laravel Mix运行时关于es2015报错解决方案
  • Vue 2.3、2.4 知识点小结
  • Yii源码解读-服务定位器(Service Locator)
  • 产品三维模型在线预览
  • 服务器之间,相同帐号,实现免密钥登录
  • 基于Vue2全家桶的移动端AppDEMO实现
  • 跨域
  • 两列自适应布局方案整理
  • 前端工程化(Gulp、Webpack)-webpack
  • 实现菜单下拉伸展折叠效果demo
  • 系统认识JavaScript正则表达式
  • 一、python与pycharm的安装
  • 用mpvue开发微信小程序
  • 树莓派用上kodexplorer也能玩成私有网盘
  • ​如何防止网络攻击?
  • #laravel 通过手动安装依赖PHPExcel#
  • (Redis使用系列) Springboot 使用redis的List数据结构实现简单的排队功能场景 九
  • (ZT)北大教授朱青生给学生的一封信:大学,更是一个科学的保证
  • (分享)自己整理的一些简单awk实用语句
  • (附源码)springboot宠物管理系统 毕业设计 121654
  • (附源码)ssm考生评分系统 毕业设计 071114
  • (附源码)ssm旅游企业财务管理系统 毕业设计 102100
  • (十五)devops持续集成开发——jenkins流水线构建策略配置及触发器的使用
  • (实战)静默dbca安装创建数据库 --参数说明+举例
  • (算法)Game
  • (转)微软牛津计划介绍——屌爆了的自然数据处理解决方案(人脸/语音识别,计算机视觉与语言理解)...
  • (总结)Linux下的暴力密码在线破解工具Hydra详解
  • . ./ bash dash source 这五种执行shell脚本方式 区别
  • .NET CORE 第一节 创建基本的 asp.net core
  • .NET Core WebAPI中使用Log4net 日志级别分类并记录到数据库
  • .Net MVC4 上传大文件,并保存表单
  • .Net 访问电子邮箱-LumiSoft.Net,好用
  • .NET 将多个程序集合并成单一程序集的 4+3 种方法
  • .NET教程 - 字符串 编码 正则表达式(String Encoding Regular Express)
  • @Data注解的作用
  • @kafkalistener消费不到消息_消息队列对战之RabbitMq 大战 kafka
  • [<事务专题>]