element-ui 使用upload上传文件并解决跨域问题
时间:2019-11-29
本文章向大家介绍element-ui 使用upload上传文件并解决跨域问题,主要包括element-ui 使用upload上传文件并解决跨域问题使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
直接上案列吧!
<template> <div class="all"> <el-upload class="upload-demo" name="upfile" drag action="123" :before-upload="beforeUpload" :on-success="onSuccess" :on-error="onError" multiple ref="newupload" :auto-upload="false" > <i class="el-icon-upload"></i> <div class="el-upload__text">将文件拖到此处,或<em>点击上传</em> </div> <!-- <div class="el-upload__tip" slot="tip">请注意您只能上传.mp4 .flv .mov格式的视频文件</div> --> </el-upload> <div class="demo-input-suffix"> <el-input placeholder="请输入项目id" prefix-icon="el-icon-search" v-model="project_id"> </el-input> <br> <el-input placeholder="请输入版本号" prefix-icon="el-icon-search" v-model="version_id"> </el-input> </div> <br> <el-button type="primary" @click="newSubmitForm()" class="yes-btn" icon="importDataBtnIcon"> {{importDataBtnText}} </el-button> <!-- <el-button @click="resetForm('newform')"> 重 置 </el-button> --> </div> </template> <script> export default { data() { return { project_id:"", version_id:"", importDataBtnText:'点击上传', importDataBtnIcon:'el-icon-upload2', importDataDisabled:'true', }; }, methods: { onSuccess(response, file, fileList){ this.importDataBtnText='导入成功'; this.importDataBtnIcon='el-icon-upload2'; this.importDataDisabled='false'; }, onError(err, file, fileList){ this.importDataBtnText='导入失败'; this.importDataBtnIcon='el-icon-upload2'; this.importDataDisabled='false'; }, // beforeUpload (file) { // console.log(file) // let fd = new FormData() // fd.append('file', file) // fd.append('groupId', this.groupId) // // console.log(fd) // // this.newVideo(fd).then(res => { // // console.log(res) // this.newVideo(fd) // //}) // return true // }, beforeUpload (file) { this.importDataBtnText='正在导入'; this.importDataBtnIcon='el-icon-loading'; this.importDataDisabled='false'; console.log(file) let fd = new FormData() fd.append('filename', file) fd.append('project_id', this.project_id) fd.append('version_id', this.version_id) this.$http.post('api/upload/', fd).then((res) => { this.importDataBtnText='导入成功'; }, (res) => { this.importDataBtnText='导入失败'; console.log(res) }) return false }, newSubmitForm () { this.$refs.newupload.submit() }, newVideo (data) { console.log("我进这个方法了haha"); this.$axios({ method: 'post', url: 'http://172.17.187.77:8000/upload/', timeout: 20000, data: data }) }, } }; </script> <style > .all { width: 90%; margin: 0 auto; padding-top: 100px; } .demo-input-suffix{ width:30%; } </style>
说一下路径问题,文件上传的请求地址在 beforeUpload()方法里面 ,我这里设置了允许跨域,所以写成了 'api/upload/',我原本地址为:
url: 'http://172.17.187.77:8000/upload/',
跨域设置方法 进入config文件夹下的index.js
module.exports = {
dev: {
// Paths
assetsSubDirectory: 'static',
assetsPublicPath: '/',
proxyTable: {
'/api': {
target: ' http://172.17.187.77:8000/',
changeOrigin: true,
pathRewrite: {
'^/api': ''
}
}
},
target:标签那里写你的请求地址端口以前的,我的是
url: 'http://172.17.187.77:8000/upload/',
所以就写
http://172.17.187.77:8000/
但是你发现后面少了 /upload 所以在
beforeUpload ()方法里面 的请求地址写为 api/upload,如果你不存在跨域问题直接写全请求路径就好了!
原文地址:https://www.cnblogs.com/xqhv587/p/11957723.html
- 人工智能:浮现
- 机器人进化 如何确保 安全概率?
- Nodejs学习笔记(七)--- Node.js + Express 构建网站简单示例
- 如何写出好代码
- Nodejs学习笔记(十五)--- Node.js + Koa2 构建网站简单示例
- WCF后续之旅(15): 逻辑地址和物理地址
- 深入理解string和如何高效地使用string
- Nodejs学习笔记(四)——支持Mongodb
- 语音识别类产品的分类及应用场景
- 小程序新能力-个人开发者尝鲜微信小程序
- 径向基神经网络续1
- 打造你的专属AI游戏机器人:太空侵略者
- WCF后续之旅(16): 消息是如何分发到Endpoint的--消息筛选(Message Filter)
- 最高大上的展览!腾讯建了一个小“方盒子”,里面全是高科技
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 详解php协程知识点
- php curl简单采集图片生成base64编码(并附curl函数参数说明)
- PHP通过get方法获得form表单数据方法总结
- PHP filesize函数用法浅析
- PHP中创建和编辑Excel表格的方法
- php二维数组按某个键值排序的实例讲解
- thinkphp5引入公共部分header、footer的方法详解
- php实现文章评论系统
- PHP如何搭建百度Ueditor富文本编辑器
- 浅谈keras.callbacks设置模型保存策略
- pandas之分组groupby()的使用整理与总结
- PHP fclose函数用法总结
- Python collections.defaultdict模块用法详解
- PHP crc32()函数讲解
- python读取图像矩阵文件并转换为向量实例