在我的网络应用程序中,用户通过“输入文件”按钮选择一个大的 zip 文件。
然后该文件作为 blob 返回(请参阅快照 zipfile1)。
然后程序逐个读取 zip 文件的块(单个文件)。
测试程序按顺序读取所有文件,然后多次重复该序列。
这可以通过各种浏览器(Chrome、Firefox、Safari)在各种操作系统(Windows Linux、MacO、Android)上正常工作。
但在 iOS 上,有时 blob 对象会丢失,并且该过程会返回错误。
在这种情况下,我可以再次选择该文件以继续该过程。
但我想以编程方式执行此操作,而不需要手动干预。
我仍然有文件名,但 blob 大小为 0(请参阅快照 zipfile2)。
是否可以通过编程方式重新打开该文件?
Thanks
EDIT:
我试着打电话
let zipFileUrl = URL.createObjectURL(zipFile);
对内存中的文件有某种“句柄”没有实际数据.
这个想法是,稍后,如果文件对象损坏,我可以fetch(zipFileUrl)
重新打开文件。
很遗憾,createObjectURL
从中创建一个内存 blobentire内存中的文件,这对我来说没用,因为文件太大了......
zipFile1
zipfile2
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)