我这里有一个基于 PHP 的 API 项目,继承自我的前任,他已经转移到另一个项目。现在,我正在研究上传文件的一些奇怪行为,对于 Android、iOS 和 Postman 的所有三个小文件,它们总是成功的,但对于 iOS 和 Postman 而不是 Android 开始失败。
我们注意到在我们的 iOS 应用程序上处理相对较大的文件 (>100 MB) 以及 Postman 时会发生这种情况。我们的 Android 应用似乎运行良好,甚至可以上传更大文件大小的文件;1GB 以上。我已经与我们的服务器管理员进行了协调,他说服务器配置设置为合理的水平。我相信他,因为我们的 Android 应用程序成功上传了一个更大的视频。
我已将问题隔离到以下相关代码:
if (!is_uploaded_file($_FILES['filedata']['tmp_name']))
//... Respond with status code 400 an error message.
我做了一些挖掘,发现从我们的 iOS 应用程序和 Postman 发送的上传会导致错误代码 3,根据文档,这意味着 UPLOAD_ERR_PARTIAL。
有趣的是,如果我们的 iOS 应用程序和 Postman 使用较小的文件(例如大约 8-20 MB)上传文件非常好,而且我很确定它可以轻松处理更大的文件,因为我们的 Android 应用程序能够成功上传大量文件1 GB 文件。
我的直觉告诉我,这与 Android、Postman 和 iOS 在处理文件上传方面的差异有关,但我不知道从哪里开始或从哪里要求我们的移动应用程序开发人员(他们也继承了他们的项目)看看.