【问题标题】:0 bytes uploaded of file stored on cloud service via <input type=file> on iOS通过 iOS 上的 <input type=file> 上传存储在云服务上的 0 字节文件
【发布时间】:2022-05-15 21:20:54
【问题描述】:

我无法弄清楚为什么从 iOS 上传到我们的服务器会导致文件为空。上传页面是一个简单的表单,使用 POST 和 enctype 作为 multipart/form-data。

问题似乎只出现在用户:

  1. 正在使用 iOS
  2. 尝试从云服务(当前为 iCloud 或 Dropbox)上传文件即使该文件是其本地系统上的版本
  3. 在选择文件(通过&lt;input type=file&gt; 按钮)和开始上传之间留出一段时间,大约需要 30 秒到 1 分钟。

我不确定与文件的连接是否存在超时问题,如果是,这是错误还是安全功能。如果用户在这段时间内选择了自己的文件并开始上传,则文件上传成功。

从“真正的”本地系统(例如,在任何云文件夹之外)上传可以正常上传,即使在任何延迟之后也是如此。文件大小和文件类型似乎无关。

我知道 Dropbox 有一个“选择器”系统,它转发链接而不是文件,但是在测试中,只要用户在短时间内完成,Dropbox 文件仍然会成功上传。

处理上传的表单相当大,有很多选项,因此用户通常会在选择文件和启动上传之间花费一些时间。

Android 或 OSX 桌面平台不会出现此问题。

我也使用独立的在线上传器进行了测试,即http://checkfiletype.com/ 并执行了相同的测试,并且发生了同样的事情:

result after pressing 'upload' straight away, 和 result after short a delay and then pressing 'upload'.

我不知道从哪里开始,大多数谷歌搜索只显示关于上传到云平台的结果,而不是来自它们。我错过了什么吗?

【问题讨论】:

  • 你找到解决方案了吗
  • @Sudarshana Dayananda 不幸的是没有。自从我第一次发布以来,iOS 已经有了更新,但问题仍然存在。
  • 使用流行的 wordpress 表单插件遇到同样的问题,不明白为什么周围没有这个痕迹......
  • @BradfordLongflap 您帮助结束了几个小时的故障排除,以缩小我们表单上的此问题。您最终是如何解决的?转向 ajax 上传?
  • @ronnz 我从来没有解决它。在这种情况下,Ajax 对我们来说并不实用——作为一种妥协,我在表单顶部有一条注释(由 iOS 用户代理触发),提示用户在上传之前将图像文件移动到他们的“照片”文件夹中.

标签: ios file-upload cloud


【解决方案1】:

更新:iOS 15.4 的发布似乎不再是这种情况。 updates page 包含在“错误修复”下:

照片和视频可能无法同步到 iCloud 照片库

虽然它没有直接描述错误,但似乎开发团队实际上已经对选择器/文件系统进行了调整。可惜花了几年时间。

【讨论】:

    猜你喜欢
    • 2016-05-25
    • 1970-01-01
    • 1970-01-01
    • 2016-01-08
    • 1970-01-01
    • 2016-11-29
    • 2020-09-22
    • 2019-01-24
    相关资源
    最近更新 更多