react-component / upload

React Upload
https://upload.react-component.vercel.app/
MIT License
784 stars 319 forks source link

fix: Delay folder upload until all children files are parsed #559

Closed coderz-w closed 4 months ago

coderz-w commented 5 months ago

🤔 这个变动的性质是?

🔗 相关 Issue

antd issue

💡 需求背景和解决方案

当拖拽上传文件夹时,需要手动解析文件树,原代码在解析到子文件为非文件夹时直接执行后续而非等待全部文件解析完成,与普通上传的表现不一致。添加其他变量确保文件全部解析后再进行后续操作

vercel[bot] commented 5 months ago

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
upload ✅ Ready (Inspect) Visit Preview 💬 Add feedback Jun 12, 2024 10:01am
afc163 commented 5 months ago

这个好写测试用例不

coderz-w commented 5 months ago

这个好写测试用例不

其实根本不会写测试...,我先去看看吧,不行的话麻烦一下大佬了

yoyo837 commented 5 months ago

这个好写测试用例不

其实根本不会写测试...,我先去看看吧,不行的话麻烦一下大佬了

学,以后PR处处要写。写一次就会了。

coderz-w commented 5 months ago

这个好写测试用例不

其实根本不会写测试...,我先去看看吧,不行的话麻烦一下大佬了

学,以后PR处处要写。写一次就会了。

我尽量

coderz-w commented 5 months ago

@yoyo837 @afc163 佬,原有测试里模拟FileSystemEntry的函数处理文件夹时存在bug 1d587218108d49de87a2a2506271a1f2 ,在测试 https://github.com/react-component/upload/blob/master/tests/uploader.spec.tsx#L377 将webp后缀改成png后测试任然通过可以验证这个bug。 我要加测试的话需要先把这个改了,我是直接在这里单独commit一次还是怎么弄呢

afc163 commented 5 months ago
  1. 改动好大,能解释一下么
  2. ci 挂了看看
coderz-w commented 5 months ago
  1. 改动好大,能解释一下么
  2. ci 挂了看看

就改了一行吧,return 那里,原因是应为 image在这个地方要通过传入参数长度判断文件是否处理完成,dirReader.readEntries里面传入的函数就是上面那张图里的handle,原来的写法会导致一直卡在loopFiles,后面的函数其实都没执行

afc163 commented 5 months ago

看 diff 不止一行改动。

coderz-w commented 5 months ago

看 diff 不止一行改动。

测试那里我还没改,目前只是改了处理文件的地方,改动看起来比较大主要是应为把有个函数移到了另一个函数里面

afc163 commented 5 months ago

先做最小改动吧,重构可以延后或提前做掉。

coderz-w commented 5 months ago

先做最小改动吧,重构可以延后或提前做掉。

我之前的改动太大了吗,要重新弄吗

afc163 commented 5 months ago

有个函数移到了另一个函数里面

这个是必须的改动么?

coderz-w commented 5 months ago

有个函数移到了另一个函数里面

这个是必须的改动么?

需要有变量来记录文件处理情况,如果不这样搞那就在外层弄一个