欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Vue+thinkphp5.1+axios實現文件上傳

 更新時間:2021年08月24日 11:45:14   作者:々橙若℃ №  
這篇文章主要為大家詳細介紹了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>
<div 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>
</div>

</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
                echo json_encode(['code' => 0,"msg" => 'succcess'],JSON_UNESCAPED_UNICODE);exit;
            }else{
                // 上傳失敗獲取錯誤信息
                echo json_encode(['code' => 1,"msg" => 'error'],JSON_UNESCAPED_UNICODE);exit;
            }
        } catch (Exception $e) {
            echo json_encode(['code' => 1,"msg" => 'error'],JSON_UNESCAPED_UNICODE);exit;
        }
}

四.實際效果

測試成功!

關于vue.js的學習教程,請大家點擊專題vue.js組件學習教程Vue.js前端組件學習教程進行學習。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Vue的狀態(tài)管理vuex使用方法詳解

    Vue的狀態(tài)管理vuex使用方法詳解

    由于Vue多個狀態(tài)分散的跨越在許多組件和交互間各個角落,大型應用復雜度也經常逐漸增長。為了解決這個問題,Vue提供了vuex。本文將詳細介紹Vue狀態(tài)管理vuex,需要的朋友可以參考下
    2020-02-02
  • 簡單實現vue驗證碼60秒倒計時功能

    簡單實現vue驗證碼60秒倒計時功能

    這篇文章主要為大家介紹了如何簡單實現vue驗證碼60秒倒計時功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • Vue filter介紹及其使用詳解

    Vue filter介紹及其使用詳解

    本篇文章主要介紹了Vue filter介紹及其使用詳解,VueJs 提供了強大的過濾器API,能夠對數據進行各種過濾處理。一起跟隨小編過來看看吧
    2017-10-10
  • vue中el-table實現可拖拽移動列和動態(tài)排序字段

    vue中el-table實現可拖拽移動列和動態(tài)排序字段

    最近公司需要做個項目,需要拖拽表格和自定義表格字段,本文主要介紹了vue中el-table實現可拖拽移動列和動態(tài)排序字段,具有一定吃參考價值,感興趣的可以了解一下
    2023-12-12
  • Vue中使用ECharts與v-if的問題和解決方案

    Vue中使用ECharts與v-if的問題和解決方案

    在Vue項目中使用v-if指令控制ECharts圖表顯示時,可能會遇到圖表無法正常渲染或顯示錯誤的問題,下面這篇文章主要介紹了Vue中使用ECharts與v-if的問題和解決方案,需要的朋友可以參考下
    2024-10-10
  • vue+ElementPlus框架Container 布局容器不能鋪滿整個屏幕的解決方案

    vue+ElementPlus框架Container 布局容器不能鋪滿整個屏幕的解決方案

    這篇文章主要介紹了vue+ElementPlus框架Container 布局容器不能鋪滿整個屏幕的解決方案,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2024-01-01
  • Vue編寫多地區(qū)選擇組件

    Vue編寫多地區(qū)選擇組件

    這篇文章主要為大家詳細介紹了Vue編寫一個挺靠譜的多地區(qū)選擇組件的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • 原生echart和vue-echart的使用詳解

    原生echart和vue-echart的使用詳解

    這篇文章主要為大家詳細介紹了原生echart和vue-echart的使用,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • Vue使用Three.js加載glTF模型的方法詳解

    Vue使用Three.js加載glTF模型的方法詳解

    這篇文章主要給大家介紹了關于Vue使用Three.js加載glTF模型的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Vue具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2020-06-06
  • vueJs函數readonly與shallowReadonly使用對比詳解

    vueJs函數readonly與shallowReadonly使用對比詳解

    這篇文章主要為大家介紹了vueJs函數readonly與shallowReadonly使用對比詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03

最新評論