Javascript aJax文件上传,Chrome+;手机?

Javascript aJax文件上传,Chrome+;手机?,javascript,php,html,Javascript,Php,Html,我已经更新了我的问题。我有下面的代码可以在Chrome和IE上运行,还没有在其他浏览器上测试过。不过,它在运行Chrome的手机上不起作用,在iPad上的Opera上也不起作用 这是不是因为我使用的代码不受支持,我猜在这种情况下,如果是这样的话,还有其他选择吗 function submitFile() { var theFile = document.getElementById("image").files[0]; var xhr = new XMLHttpRequest()

我已经更新了我的问题。我有下面的代码可以在Chrome和IE上运行,还没有在其他浏览器上测试过。不过,它在运行Chrome的手机上不起作用,在iPad上的Opera上也不起作用

这是不是因为我使用的代码不受支持,我猜在这种情况下,如果是这样的话,还有其他选择吗

function submitFile() {
    var theFile = document.getElementById("image").files[0];
    var xhr = new XMLHttpRequest();

    xhr.onload = function(e) {
        document.getElementById("imageUpload").innerHTML = "UPLOAD COMPLETE!";
    };

    xhr.upload.onprogress = function(e) {
        if (e.lengthComputable) {
            var currentPercentage = Math.round(e.loaded / e.total * 100);
            document.getElementById("imageUpload").innerHTML = "UPLOAD IMAGE " + currentPercentage + "%";
            document.getElementById("imageUpload").style.backgroundSize = currentPercentage + "% 100%";
        }
    };

    xhr.open("POST", "php/submitMessage.php", true);
    xhr.send(theFile);
}

另外一个问题,检索文件存储位置的好方法是什么,这样我就可以将其与表单的其余部分一起提交,表单的其余部分将单独提交到图像中?我猜唯一的方法是使用responseHTML将其作为字符串检索

更新了我的问题。请尝试检查此行
var theFile=document.getElementById(“图像”).files[0]有时输入文件对象可能会产生问题。@LucasPiske虽然在移动浏览器上仍然可以上传文件,但没有显示进度。