xmlHTTP POST请求

时间:2019-02-01 08:38:17

标签: javascript post upload xmlhttprequest

我环顾了stackoverflow和google,但到目前为止找不到有效的解决方案。

我正在尝试通过xmlhttp请求将图像文件发送到服务器。我找到了这个网站:https://ptsv2.com/以测试上传。

我从服务器获取200 - 当我把我的请求OK回来了,但它表明我还没有在那里上传的文件(文件:0)

这是我的代码:

var url = "https://corsanywhere.herokuapp.com/https://ptsv2.com/t/zuaco-1549007477/post";      

var base64Credentials = btoa(username+":"+password);

var xhttp = new XMLHttpRequest();
          var fd = new FormData();
          /* Add the file */ 
          fd.append("file", "img/1.png");

xhttp.open("POST", url, true);
xhttp.setRequestHeader("Authorization", "Basic " + base64Credentials);
xhttp.setRequestHeader("Content-Type", "image/png");
xhttp.send(fd);

   /* Check the response status */  
   xhttp.onreadystatechange = function() 
   {
      if (xhttp.readyState == 4 && xhttp.status == 200) 
      {
         console.log("UPLOAD SUCCESSFUL: " + xhttp.statusText);
         console.log("GET ALL: " + xhttp.getAllResponseHeaders());
      }
      else {
          console.log("UPLOAD FAILED!")
      }
   }

1 个答案:

答案 0 :(得分:0)

出于安全原因,您无法手动设置文件。而是使用文件输入元素:

var xhttp = new XMLHttpRequest();
var fd = new FormData();
// fd.append("file", "img/1.png");
fd.append("file", document.getElementById('yourInput').files[0]);