1、用js的formData对象上传(服务器返回url地址)

<input class="file" name="file" type="file" accept="image/png,image/gif,image/jpeg" @change="update"/>

methods: {update(e){let file = e.target.files[0];let param = new FormData(); //创建form对象param.append('file',file);//通过append向form对象添加数据console.log(param.get('file')); //FormData私有类对象,访问不到,可以通过get判断值是否传进去let config = {headers:{'Content-Type':'multipart/form-data'} //这里是重点,需要和后台沟通好请求头,Content-Type不一定是这个值}; //添加请求头axios.post('http://127.0.0.1:8081/upload',param,config).then(response=>{console.log(response.data);})}}

2、Form表单上传(服务器返回url地址)

<form><input type="text" value="" v-model="name" placeholder="请输入用户名"><input type="text" value="" v-model="age" placeholder="请输入年龄"><input type="file" @change="getFile($event)"><button @click="submitForm($event)">提交</button>
</form>
 data: {name: '',age: '',file: ''},methods: {getFile(event) {this.file = event.target.files[0];console.log(this.file);},submitForm(event) {event.preventDefault();let formData = new FormData();formData.append('name', this.name);formData.append('age', this.age);formData.append('file', this.file);let config = {headers: {'Content-Type': 'multipart/form-data'}}axios.post('http://127.0.0.1:8081/upload', formData, config).then(function (response) {if (response.status === 200) {console.log(response.data);}})}}

注意:表单form加上属性enctype="multipart/form-data"。客服端发送的头部就是:

Content-type: multipart/form-data, boundary=AaB03x--AaB03x//后面这个是浏览器假的随机值

提交成功客服端还能看到以下图片相关内容:

3、获取相机图片的base64

    /*** 获取用户拍照的图片信息*/async Photograph() {// 获取用户拍照的图片名字,显示到页面上this.fileName = this.$refs.photoref.files[0].name;// 获取图片base64 代码,并存放到 base64ImgData 中this.base64ImgData = await this.FileReader(this.$refs.photoref.files[0]);},/*** 返回用户拍照图片的base64*/FileReader(FileInfo) {// FileReader 方法参考地址:https://developer.mozilla.org/zh-CN/docs/Web/API/FileReaderlet reader = new FileReader();// readAsDataURL 方法参考地址:https://developer.mozilla.org/zh-CN/docs/Web/API/FileReader/readAsDataURLreader.readAsDataURL(FileInfo);// 监听读取操作结束/* eslint-disable */return new Promise(resolve => (reader.onloadend = () => resolve(reader.result)));}

vue+axios上传文件的几种方式及步骤(以上传图片为例)相关推荐

  1. django + python上传文件的两种方式

    突然心血来潮,研究了下django+python上传文件的两种方式. 第一:直接采用文件读写的方式上传 1. settings.py文件中设置文件的存放路径和文件读取路径 MEDIA_ROOT = o ...

  2. django文件上传到服务器,django上传文件的三种方式

    Django文件上传需要考虑的重要事项 文件或图片一般通过表单进行.用户在前端点击文件上传,然后以POST方式将数据和文件提交到服务器.服务器在接收到POST请求后需要将其存储在服务器上的某个地方.D ...

  3. vue前端实现上传文件的两种方式

    1.使用form表单的形式 第一种方式就是使用FormData的方式进行上传 html代码: <el-form :model="upform" :rules="up ...

  4. flask中使用FileField上传文件的两种方式+前端页面上传文件(flask三种上传文件方式)

    文章目录 上传文件方式一: 1.index.html文件: 2.主文件main.py: 上传文件方式二: 1.index2.html文件: 2.main.py文件: 上传文件方式三: 1.index3 ...

  5. java spring上传_SpringMVC上传文件的三种方式

    直接上代码吧,大伙一看便知 前台: pageEncoding="utf-8"%> Insert title here 采用流的方式上传文件 采用multipart提供的fil ...

  6. SpringMVC上传文件的三种方式

    /** 通过流的方式上传文件* @RequestParam("file") 将name=file控件得到的文件封装成CommonsMultipartFile 对象*/@Reques ...

  7. LayUI upload上传组件上传文件的两种方式(手动上传、自动上传)

    1 手动上传 上传文件分为两步,第一步选择文件,第二步上传文件. HTML代码: <input type='button' id='selectFile' value='选择文件'> &l ...

  8. WebUploader 上传文件的两种方式(手动上传,自动上传)

    1 手动上传 上传文件分为两步,第一步选择文件,第二步上传文件. HTML代码: <input type='button' id='selectFile' value='选择文件'> &l ...

  9. Linux远程上传文件的三种方式详解

    1.FileZilla(直接拖) https://www.filezilla.cn/download/client 2.lrzsz 2.1.yum install lrzsz 2.2.在CRT中配置上 ...

最新文章

  1. 一个LabVIEW控件,生成模拟波形效果
  2. RHEL 5服务篇—部署DNS域名解析服务(一)BIND软件
  3. Android系统源码编译最重要的一步
  4. Ubuntu8.10安装Netbeans6.7中文乱码解决方案
  5. 弹性服务器怎么上传文件,上传哪个文件夹弹性云服务器
  6. struts2教程(3)--请求参数处理
  7. qt 安装mysql_qt 安装mysql数据库
  8. Optional.isEmpty()在JDK 11 EA构建中可用
  9. 2017年最新的全国省市sql数据
  10. ORCLE分组后取出时间最近的一条
  11. 线路由器常见故障和排除方法
  12. Vue3 组合式Api之customRef实现防抖功能
  13. KVM详解(三)——KVM创建虚拟机
  14. 怎么视频抠图?一键AI智能抠图,这招你一定要学会
  15. SonarQube检测出的bug、漏洞以及异味的修复整理
  16. 计算机控制面板设置命令,控制面板在哪里打开?快捷键是多少(最全4种方法详解)...
  17. 服务器vmware新建虚拟机教程,如何创建虚拟机教程全解
  18. Spring Cloud 微服务开发:入门、进阶与源码剖析 —— 9.4 Spring Cloud Gateway 路由断言工厂
  19. 服务器修复oxc0000098,修复oxc0000098的方法
  20. 书籍推荐-游戏程序员的学习之路

热门文章

  1. 上海航芯 | 全自动咖啡机设计方案
  2. Word如何设置单元格垂直居中
  3. Excel中提取单元格中的部分内容或单元格中的数字公式大全(提取数字,提取前几位,提取指定文字之间的内容等等)
  4. python获取word页数_使用Python的word文档的页数(Number of pages of a word document with Python)...
  5. 梯度下降计实例计算(二维)
  6. iterate java_ibatis中iterate的用法(conjunction=or ,)
  7. Front Immunol 复现 | 1. GEO数据下载及sva批次校正(PCA可视化)
  8. AR、VR、MR 别傻傻分不清了
  9. mysql实现停车场管理系统完整代码实现_JAVA实现简单停车场系统代码
  10. java mocked_java – 使用PowerMock的Mocked私有方法,但是底层方法仍然被调用