2021年11月8日

    参与项目 平台架构治理
    协助解决人 三位雷锋大佬
    整体耗时 3天

    工作重点
    1.文件夹上传功能实现

    遇到的问题和解决思路
    遇到的问题
    一共尝试了两种写法
    1.formData.append追加参数,此写法可以确保每次请求都拿到文件对应的路径作为参数,但是后端拿不到文件(可以读取文件大小和文件名)
    2.element el-upload多文件上传,此方法后端可以读取文件,但是我无法直接通过upload的data属性传递文件对应的路径(只能传递文件列表中最后一个文件的路径)

    解决思路
    1.通过beforeupdate函数将所有的文件路径遍历出来再依次放入(无法解决问题,因为beforeupload都在文件上传之前执行,无论是第一个还是最后一个beforeupload
    2.后来试图解决后端读不出formdata
    3.通过data属性进行路径传参(不可行)
    3.通过this.$refs.upload.data进行文件路径的传参

    解决方案
    1.通过this.$refs.upload.data进行传参
    image.png
    这种方法不同于直接在data中添加参数,而是每次文件上传都能将对应的文件路径(其实文件中别的内容也可以)作为额外参数进行操作
    data在多文件上传并不能直接让关于对应文件的内容作为参数
    个人总结
    this.$refs.upload本质上就是操作了upload上传组件的this对象,而this.$refs.upload.data其实就是在操作upload组件中的data属性了,这个解决方案是一位大哥在阅读源码时找到的.