繁体   English   中英

如何从javascript上传文件到服务器?

[英]How to upload a file from javascript to the server?

我正在做一个用户需要加载照片的网页。 由于此照片将链接到唯一ID,因此我希望将照片传输到服务器并另存为NUMBER.jpg或NUMBER.png或任何扩展名。 因此,使用javascritpt代码调用输入类型字段上的事件,如下所示:

   var file = document.getElementById("foto").files[0];
   document.getElementById("pathFoto").value = file.name;
   var formData = new FormData();
   formData.append('foto',file,file.name);
   var xhr = new XMLHttpRequest();
   xhr.open('POST','php/handler.php',true);
   xhr.onload = function() {
      if (xhr.status == 200){
         console.log("Done");
      }
      else{
         console.log("An error ocurred " + xhr.responseText);
      }
   }
   xhr.send(formData);

在PHP方面,这是我的工作:

$image = $_POST["foto"];
file_put_contents("atest.jpg",$image);

现在我得到的错误是“ foto”是未定义的索引。 谁能告诉我我在做什么错?

这就是我要做的事情

var file = document.getElementById("foto").files[0];
var formData = new FormData();
formData.append('foto',file);

initial ajax request like you did above.....


xhr.send(formData);

您始终可以从php获取文件名。 您不必附加它。

在您的PHP中,执行

if(isset($_FILES['foto']['name])){

}

按照链接了解如何在php中上传文件http://www.w3schools.com/php/php_file_upload.asp

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM