2015-10-04 43 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);