• VForm3的文件上传方式


    更多ruoyi-nbcio功能请看演示系统

    gitee源代码地址

    前后端代码: https://gitee.com/nbacheng/ruoyi-nbcio

    演示地址:RuoYi-Nbcio后台管理系统 http://122.227.135.243:9666/

    更多nbcio-boot功能请看演示系统 

    gitee源代码地址

    后端代码: https://gitee.com/nbacheng/nbcio-boot

    前端代码:https://gitee.com/nbacheng/nbcio-vue.git

    在线演示(包括H5) : http://122.227.135.243:9888

    一、官方推荐

    好像太麻烦了,难道我每次增加一个文件或图片上传组件都要这样做一边?

    另外上面获取token也不完全啊,同时还没有解决回显的问题。

    官方说的下面回显问题好像也不大明白

    二、采用简单粗暴的方式,直接修改源代码进行重新打包

       下载VForm3的源代码,修改token机制,根据我的项目简单传入header的token与clientId

    如下:

    1. class="form-conf" v-if="dialog.visible">
    2. <v-form-render :form-json="formModel" :nbcioHeader="nbcioHeader" :form-data="formData" ref="vfRenderRef">v-form-render>
    3. <div class="cu-submit">
    4. <el-button type="primary" @click="submit">提交el-button>
    5. <el-button @click="reset">重置el-button>
    6. div>
  • 其中

    1. onBeforeMount(() => {
    2. const clientid = import.meta.env.VITE_APP_CLIENT_ID;
    3. console.log("onBeforeMount clientid",clientid)
    4. nbcioHeader = { "Authorization":"Bearer " + getToken(),
    5. "Clientid": clientid }
    6. });

    三、在v-form-render组件里进行修改,把上面的头文件信息传入进去

    如:

    1. export default {
    2. name: "file-upload-widget",
    3. componentName: 'FieldWidget', //必须固定为FieldWidget,用于接收父级组件的broadcast事件
    4. mixins: [emitter, fieldMixin, i18n],
    5. props: {
    6. field: Object,
    7. parentWidget: Object,
    8. parentList: Array,
    9. indexOfParentList: Number,
    10. designer: Object,
    11. designState: {
    12. type: Boolean,
    13. default: false
    14. },
    15. subFormRowIndex: { /* 子表单组件行索引,从0开始计数 */
    16. type: Number,
    17. default: -1
    18. },
    19. subFormColIndex: { /* 子表单组件列索引,从0开始计数 */
    20. type: Number,
    21. default: -1
    22. },
    23. subFormRowId: { /* 子表单组件行Id,唯一id且不可变 */
    24. type: String,
    25. default: ''
    26. },
    27. nbcioHeader: { // for ruoyi-nbcio-plus使用
    28. type: Object,
    29. default: () => ({})
    30. },
    31. },

  • 相关阅读:
    【分布式】 A survey on the distributed computing stack论文小抄
    MySQL最大建议行数2000w, 靠谱吗?
    1111 修复公路
    使用 Dumpling 备份 TiDB 集群数据到兼容 S3 的存储
    Oracle数据库----第七周实验____循环与游标
    代码随想录day38 || 动态规划理论基础 || 斐波那契数 || 爬楼梯 || 最小花费爬楼梯
    微信小程序项目-宠物商城项目uniapp源码和代码讲解
    QT生成ICO文件
    交叉编译 Crypto++
    数据中心:精密空调监控,这招太高效了!
  • 原文地址:https://blog.csdn.net/qq_40032778/article/details/138068578