2015-10-04 61 views
0

我有这样的链接:file://.....。我想这个文件上传到使用此代码的Web服务器:如何使用FORMDATA?

var imageData = 'file://......'; 
    var formData = new FormData(); 
    formData.append('file-input', imageData); 
    var xhr = new XMLHttpRequest(); 
    xhr.open("POST", "my_url"); 
    xhr.send(formData); 

但我的服务器上说,文件的输入是不确定的。

我的代码有什么问题?

+3

你不能拉用'文件中的文件获得my_url.php文件://'。您必须使用类型为'file'的输入来上传它。如果你只能访问本地系统,你可以从任何用户的计算机上获取任何文件。 – chris85

回答

1

解决方案1个

获取文件从静态变量

var formData = new FormData(); 
    var imageData = 'https://static.xx.fbcdn.net/rsrc.php/v2/yx/r/pyNVUg5EM0j.png'; 
    formData.append('file',imageData); 
    var xhr = new XMLHttpRequest(); 
    xhr.open("POST", "my_url"); 
    xhr.send(formData); 

可以使用echo '<pre>';print_r($_POST);

解决方案2

获取文件从获取的文件中my_url.php输入类型文件字段(上传文件)

var formData = new FormData(); 
var imageData = document.getElementById('the-file'); 
formData.append('file',imageData.files[0]); 
var xhr = new XMLHttpRequest(); 
xhr.open("POST", "/test2/phpFile.php"); 
xhr.send(formData); 

可以使用echo '<pre>';print_r($_FILES);