zoukankan      html  css  js  c++  java
  • ssm+shiro权限框架+eleme前端框架(上传图片的坑)

    在之前做一个4s店维修管理系统时,登录权限用到了shiro框架,

    在前后端分离的情况下,登录成功后,后台会向前台传个token回来,

    前端的session会记录登录用户的所有信息,

    每当前端向后台发送axios请求时都会携带个token传向后台,

    //发送请求之前拦截下来,在请求头里面 添加上 X-Token:sfasdfasdf111111
    axios.interceptors.request.use(config => {
        if (sessionStorage.getItem('token')) {
            // 让每个请求携带token--['X-Token']为自定义key 请根据实际情况自行修改
            config.headers['X-Token'] = sessionStorage.getItem('token')
            // config.headers['IP'] = sessionStorage.
        }
        return config
    }, error => {
        // Do something with request error
        Promise.reject(error)
    })

    通过这个token来判断用户是否存在。

    然而eleme前端框架的上传图片是直接写上传的地址。

    <el-form-item label="用户头像">
                        <el-upload
                                class="upload-demo"
                                action="http://localhost/file/upload"
                               
                                :on-preview="handlePreview"
                                :on-remove="handleRemove"
                                :on-success="handleAvatarSuccess"
                                :file-list="fileList"
                                list-type="picture">
                            <el-button size="small" type="primary">点击上传</el-button>
                            <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div>
                        </el-upload>
                    </el-form-item>

    token就没了。一上传图片就会报错

    通过 eleme文档发现了属性::headers

    修改后:

    <el-form-item label="用户头像">
                        <el-upload
                                class="upload-demo"
                                action="http://localhost/file/upload"
                                :headers="myHeaders"
                                :on-preview="handlePreview"
                                :on-remove="handleRemove"
                                :on-success="handleAvatarSuccess"
                                :file-list="fileList"
                                list-type="picture">
                            <el-button size="small" type="primary">点击上传</el-button>
                            <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div>
                        </el-upload>
                    </el-form-item>
    <script>
    return {
                myHeaders: {
                    'X-Token':sessionStorage.getItem('token')
                },
        ......其他js代码
        }

    就ok了

  • 相关阅读:
    InfoPath Resource Sites
    深入浅出SharePoint——批量导入数据
    理解Javascript_07_理解instanceof实现原理
    二分图匹配(匈牙利算法模板)
    不錯的幾個ICON搜尋網站推廌
    Sql Server 执行计划及Sql查询优化
    SCSI RAID与IDE RAID性能对比说明
    Lucene.Net的中文分词组件AdvancedChineseAnalyzer
    NAS和SAN存储和恢复技术介绍
    百万数据查询优化技巧三十则
  • 原文地址:https://www.cnblogs.com/bigbigxiao/p/12069871.html
Copyright © 2011-2022 走看看