• Ant-design-vue组件上传文档


    关于组件上传文档除了element-ui,最近用到的就是ant组件,非同小异;

    1. :fileList="fileList"
    2. name="file"
    3. :multiple="true"
    4. :before-upload="handleDirectoryUpload"
    5. :remove="removeFile
    6. >
    7. "/>上传文件夹

      其中,在data变量中定义 fileList存储上传的文件夹中的数据;

    1. handleDirectoryUpload(file){
    2. this.fileList.push(file);
    3. return false
    4. },
    5. //删除预上传的文件,不加该方法属性,点击删除无效
    6. removeFile(file){
    7. let index = this.fileList.findIndex(i=> i.uuid == file.uuid);
    8. this.fileList.splice(index,1)
    9. }

                 原本是前端向后端发起一个请求,请求的成功后则显示上传成功,由于项目功能需要,上传的时间过长影响用户体验,用户不清楚多久可以上传成功,所以 将一个接口进行拆分成五个接口,每个接口都有对应的功能;比如步骤:上传---针对于上传文件的内容进行处理---处理完成后需要抽取---抽取成功后生成一个html文件便于访问---保存相关的数据;

               针对上面的步骤必须等待某一个步骤成功后才能进行下一个,但是重点在于一个文件夹中多个文档的上传,其中某一个文件的走第一个接口不成功,但是不能影响上传成功的文档继续走下面的步骤;

    1. //通过异步进行处理
    2. //此处写一个大致的上传的方法
    3. handOk(){
    4. let resquest_list = this.fileList.map(async(e)) => {
    5. //文件格式都是以formData格式
    6. const formData = new FormData();
    7. formData.set("file",e)
    8. formData.set("属性名",属性值);
    9. try{
    10. //异步请求接口
    11. let data = await uploadOne(formData)
    12. return data
    13. }catch(error){return null}
    14. });
    15. //promise.all所有的请求成功后走下面
    16. Promise.all(resquest_list)then(async res => {//获取到的res是个数组,过滤出有值的数据
    17. res = res.filter(i => i)
    18. await getUploadTwo(res)
    19. })
    20. },
    21. getUploadTwo(res){
    22. let arr = res.map(async(e)) => {
    23. try{
    24. //异步请求接口
    25. let data = await uploadTwo({key: value}) //对应的参数
    26. return data
    27. }catch(error){return null}
    28. });
    29. //promise.all所有的请求成功后走下面
    30. Promise.all(arr)then(async res => {//获取到的res是个数组,过滤出有值的数据
    31. res = res.filter(i => i)
    32. await getUploadThree(res)
    33. }).catch(e => {
    34. console.log(e)
    35. })
    36. }
    37. //以下的步骤雷同,这样即使中间某一个文档的某一个步骤失败了,是不影响其它接口上传的

  • 相关阅读:
    Spring系列-bean标签内autowire属性应用
    域前置技术和C2隐藏
    【老生谈算法】matlab实现实验遗传算法与优化设计——遗传算法
    初识网络编程
    ssm冬奥会志愿者报名系统毕业设计源码241154
    数据治理-大数据与数据科学-定义大数据战略与业务需求
    一款windows的终端神奇,类似mac的iTem2
    卧槽,2行代码,让接口性能提升10倍
    word添加gif
    NFV概述
  • 原文地址:https://blog.csdn.net/confidence_fy/article/details/132740330