vuephp后台开发框架(Vue+thinkphp5.1+axios实现文件上传)
类别:编程学习 浏览量:2689
时间:2022-03-29 18:22:24 vuephp后台开发框架
Vue+thinkphp5.1+axios实现文件上传本文实例为大家分享了使用thinkphp5.1 + Vue+axios实现文件上传,供大家参考,具体内容如下
前言
使用thinkphp5.1 + Vue+axios+实现文件上传
一、页面代码
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>上传Demo</title> <style> .fileBtn{ width: 180px; height: 36px; line-height: 36px; background: skyblue; border-radius: 5px; display: block; text-align: center; color: white; } [v-cloak] { display: none; } </style> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> <script src="https://unpkg.com/axios/dist/axios.min.js"></script> </head> <body> <li id="app"> <h1 v-cloak>{{message}}</h1> <form> <input type="file" name="file" ref="file" id="file" v-on:change="upload" style="visibility: hidden;" /> <label for="file" class="fileBtn">上传</label> </form> </li> </body> </html> <script> var vue = new Vue({ el:'#app', data:{ message:'文件上传', }, methods:{ upload:function(file) { console.log(file.target.files[0]); var forms = new FormData() var configs = { headers:{'Content-Type':'multipart/form-data;charse=UTF-8'} }; forms.append('file',file.target.files[0]); axios.post('http://127.0.0.1/index/index/upload', forms,configs) .then(function (response) { if (response.data.code == 0) { alert('文件上传成功'); } else { alert('文件上传失败'); } file.target.value = ''; }) .catch(function (error) { console.log(error); }); } } }); </script>
二、解决接口跨域问题
这里使用的apache 2.4.8,找到httpd.conf ,添加一行配置:
Header set Access-Control-Allow-Origin *
三.后端处理上传部分
/** * 文件上传方法校验 */ public function upload() { try{ $file = request()->file('file'); if (empty($file)) { echo json_encode(['code' => 1,"msg" => '请选择上传文件'],JSON_UNESCAPED_UNICODE);exit; } // 移动到框架应用根目录/uploads/ 目录下 $info = $file->move( '../uploads'); if($info){ // 成功上传后 获取上传信息 // 输出.jpg" alt="vuephp后台开发框架(Vue+thinkphp5.1+axios实现文件上传)" border="0" />
四.实际效果
测试成功!
关于vue.js的学习教程,请大家点击专题vue.js组件学习教程、Vue.js前端组件学习教程进行学习。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持开心学习网。
您可能感兴趣
- elementui和vue详解(Vue+Element UI实现概要小弹窗的全过程)
- vue如何加速(vue函数防抖与节流的正确使用方法)
- vue router用法(如何在Vue 3中扩展Vue Router链接详解)
- vue中的mapgetter优势(vuex 中辅助函数mapGetters的基本用法详解)
- vue项目的一些手动配置(使用vue项目配置多个代理的注意点)
- vuex怎么使用数据(vuex的辅助函数该如何使用)
- vue端口号是什么原理(解决vue前后端端口不一致的问题)
- vue函数中的默认参数(Vue3中SetUp函数的参数props、context详解)
- vue点击导航进行内容切换(vue实现顶部左右滑动导航)
- vue验证码怎么用(vue验证码组件使用方法详解)
- vuex存取修改数据流程(vuex数据持久化的两种实现方案)
- vue如何导入excel(Vue实现导入Excel功能步骤详解)
- vue组件轮播(vue+rem自定义轮播图效果)
- vue滑动切换页面(vue实现点击翻转效果)
- vue3.0路线图(Vue3.0 自己实现放大镜效果案例讲解)
- vue数据改变页面不刷新(vue列表数据删除后主动刷新页面及刷新方法详解)
- 嘉南传 第22集(嘉南传第22集)
- 哪版孙悟空最萌 黄渤躺萌了(哪版孙悟空最萌)
- 融入小人物的喜怒哀乐,黄渤饰演的角色为什么让人观看时欲罢不能(融入小人物的喜怒哀乐)
- 《极限挑战》深访都市夜归人,夜间打工者体验,黄磊录完憔悴了(极限挑战深访都市夜归人)
- Google 推出了一个游戏生成器,让不会编程的你也能自己设计游戏(推出了一个游戏生成器)
- 二胎家庭老大爱闹情绪,用这招很有效(二胎家庭老大爱闹情绪)
热门推荐
- 面试时不能说的离职理由
- php中如何使用缓存(PHP使用OB缓存实现静态化功能示例)
- php 经典模式(php设计模式之装饰模式应用案例详解)
- sql server 过期激活(SQL Server评估期已过问题的解决方法)
- 阿里云ecs怎么配置环境(阿里云ECS实例中运行网站常见状态码的报错分析)
- sqlserver日志被删除(sql server日志处理不当造成的隐患详解)
- vueweb端聊天(Vue实现聊天界面)
- python中的time时间模块使用知识(python实现简单日期工具类)
- laravel语法有哪些(对laravel in 查询的使用方法详解)
- sqlserver仲裁状态(使用 SQL 服务器时,"评估期已过期"错误消息解决方法)