ba1yu 2021-12-17 01:33 采纳率: 33.3%
浏览 171
已结题

我在JS中使用FileReader onload上传文件的时候,如何保证文件上传顺序

我在JS中上传到OBS的时候 因为FileReader onload是异步请求 所以说我上传的文件顺序会有问题
通过 var dicomList = event.target.files;直接获取的所有文件 然后在for循环这个数组

for (var i = 0; i < dicomList.length; i++) {
                var file = dicomList[i];
                var files = dicomList[i];
                let reader = new FileReader();
                let fileName = file.name;
                fruits.push(files); 
                reader.readAsArrayBuffer(file);
                
                reader.onload = function(file) {
.........

在循环里面使用的onload方法 在这个方法里面上传的OBS 所以会出现文件上传的顺序不一致的问题

  • 写回答

2条回答 默认 最新

  • CSDN专家-showbo 2021-12-17 01:40
    关注

    不能直接for,for的话异步操作无法控制顺序
    做成一个函数循环调用,可以参考这个问题中我的回复,类似,只是一个是ajax,题主的是filereader
    https://ask.csdn.net/questions/7480804

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    ba1yu 2021-12-17 01:49

    你指的是把reader.onload = function(file) {}做成一个方法 然后在for中循环调用吗

    回复
    CSDN专家-showbo 回复 ba1yu 2021-12-17 01:52

    读取的代码做成一个函数循环调用,传入dicomList和当前读取到的文件下标

    回复
    ba1yu 回复 CSDN专家-showbo 2021-12-17 01:55

    不是很懂,我是菜狗.......

    回复
    展开全部16条评论
查看更多回答(1条)
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 12月24日
  • 已采纳回答 12月17日
  • 创建了问题 12月17日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部