• vue上传文件


    1.表单提交文件

    html

    <template>
        <div>
            <el-button @click="getFile" style="margin-top: 10px">
                <i class="el-icon-upload">i> 上传
            el-button>
            <input type="file" ref="file" style="display: none;" v-on:change="handleFileUpload($event)">
        div>
    template>
    
    <script>
    // import postUpload from '../../api/index.js'
    export default {
        methods: {
            // 打开文件
            getFile () {
                this.$refs.file.click()
            },
            // 获取文件
            handleFileUpload (event) {
                // 阻止发生默认行为
                event.preventDefault();
                let formData = new FormData()
                let file = this.$refs.file.files[0]
                formData.append('file', file)
                // console.log(formData.get('file'))
                this.onUpload(formData)
            },
            // 上传文件
            onUpload (formData) {
                postUpload(formData).then((res) => {
                    this.mdl.pic = res.result.uri
                    this.$message.success(this.$t('UPLOAD_SUCCESS'))
                }).catch((e) => {
                    this.$message.error(e.message)
                })
            },
        }
    }
    script>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39

    index.js

    axios请求:

    axios请求都是封装好的,重点就是需要加请求头: headers:{ ‘Content-Type’: ‘multipart/form-data’ }

    // 文件上传
    export function postUpload (file) {
        return axios({
            url: 'upload',
            method: 'post',
            data: file,
            headers: {
                'Content-Type': 'multipart/form-data'
            }
        })
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    2.Elementui封装的组件提交文件

    html

    点击上传
    • 1

    index.js

    axios请求:

    // 文件上传
    export function postUpload (file) {
        return axios({
            url: 'upload',
            method: 'post',
            data: file,
            headers: {
                'Content-Type': 'multipart/form-data'
            }
        })
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    转载

    博主

    推荐

    博主1
    博主2
    博主3
    博主4

    最后

    感觉文章好的话记得点个心心和关注和收藏,有错的地方麻烦指正一下,如果需要转载,请标明出处,多谢!!!

  • 相关阅读:
    医院住院管理系统(Java+Web+JSP+MySQL)
    web框架与Django
    操作系统实验——进程与线程
    Pycharm 配置Django 框架
    Nginx+Tomcat 搭建负载均衡、动静分离(tomcat多实例)
    算法技巧-二叉树
    格密码入门
    在 centos7 上安装Docker
    【shell】shell指令学习
    Oracle 笔记
  • 原文地址:https://blog.csdn.net/m0_49714202/article/details/126097106