Q,30320557 2019-12-11 17:21 采纳率: 0%
浏览 382

纯js实现上传文件小工具IE兼容性问题

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);
?>
  • 写回答

2条回答

  • threenewbee 2019-12-11 23:19
    关注

    调试下,应该是 XMLHttpRequest 兼容问题
    https://blog.csdn.net/hongtengfei523/article/details/48861669

    评论

报告相同问题?

悬赏问题

  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码