https://www.jianshu.com/p/5147e36cf19c
这里写道非常方便的上传文件代码,但是用IE内核就无法上传文件,直接是不发送数据,不知道哪里出现了问题。直接不POST
chorme内核使用非常好。
也尝试过通过meta强制使用chorme内核,但是不行
<meta name="renderer" content="webkit"/>
<meta name="force-rendering" content="webkit"/>
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1"/>
需要解决的上传代码如下
function easyUpload(){
var input = document.createElement("input");
input.type = "file";
input.click();
input.onchange = function(){
var file = input.files[0];
var form = new FormData();
form.append("file", file); //第一个参数是后台读取的请求key值
form.append("fileName", file.name);
form.append("other", "666666"); //实际业务的其他请求参数
var xhr = new XMLHttpRequest();
var action = "http://localhost:8080/upload.do"; //上传服务的接口地址
xhr.open("POST", action);
xhr.send(form); //发送表单数据
xhr.onreadystatechange = function(){
if(xhr.readyState==4 && xhr.status==200){
var resultObj = JSON.parse(xhr.responseText);
//处理返回的数据......
}
}
}
}
后台代码
<?php
//print_r($_FILES);
echo json_encode($_FILES);
sleep(5);
?>