You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

特定Android设备XMLHttpRequest视频上传失败问题求助

特定Android设备MP4视频上传失败求助

测试人员发现,部分Android手机无法上传MP4视频文件,但iPhone及其他Android手机、Windows PC可正常上传该文件。已通过USB将失败设备连接至PC,使用Chrome开发者工具调试,未发现任何报错;修改php.ini配置后问题仍未解决,现寻求解决方案建议。

服务器配置

  • CentOS Linux 7
  • nginx 1.20.1

前端技术

  • Javascript

后端技术

  • PHP 7.3
  • CakePHP 3.8

成功上传设备

  • PC(Windows 10 Pro)
  • Android 6.0.1
  • Android 8.0.0
  • iOS 16.2

上传失败设备

  • Android 11
  • Android 13

php.ini配置

memory_limit => 2G
upload_max_filesize => 2G
max_input_vars => 1000 
max_execution_time => 0
; post_max_size = 8M -- before changed
post_max_size = 64M

Javascript上传代码

var xhr = new XMLHttpRequest();
var fd = new FormData();
fd.append('upfile', upfile); // upfile is uploading video file *1

xhr.onreadystatechange = function() {
    if( (xhr.status == 200 || xhr.status == 304) && xhr.response) {
        var data = xhr.response;

        console.log( 'COMPLETE! :' );
        console.log( data );
    } else {
        console.log( 'Failed. HttpStatus: '+xhr.status );
    }
};

xhr.open('POST', '/api/video/upload', true);
xhr.responseType = 'json';

xhr.send(fd);

Javascript日志(上传文件信息)

# upfile
lastModified: 1713564962045
lastModifiedDate: Sat Apr 20 2024 07:16:02 GMT+0900 (日本標準時)
[[Prototype]]: Object
name: "VID_2024-04-20-07-15-56-811.mp4"
size: 10950674
type: "video/mp4"
webkitRelativePath: ""

CakePHP 3.8 后端代码

//src\Controller\Api\VideosController.php

public function upload(){

    // 失败请求中$_FILES无数据
    $this->appInfoLog("api.videos.upload",
        ["request"=>$this->request,
            "_FILES"=>$_FILES,
        ]
    );
    
    // 文件上传处理逻辑...
 }

CakePHP 日志

上传成功时日志

2024-04-20 05:53:13 Info: {"request":{"trustProxy":true},"_FILES":{"upfile":{"name":"VID_20240419_155656.mp4","type":"video/mp4","tmp_name":"/tmp/phpAu0ege","error":0,"size":7330740}},"action":"api.videos.upload"}

上传失败时日志

2024-04-20 06:31:52 Info: {"request":{"trustProxy":true},"_FILES":[],"action":"api.videos.upload"}

补充:已再次通过USB连接失败设备至PC,使用Chrome开发者工具调试,仍未发现任何报错。

内容的提问来源于stack exchange,提问作者jmt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 11:07:17