2016-12-30 28 views
-1

我正在做圖像上傳,而不使用提交按鈕。當用戶選擇一個圖像時,他立即上傳。但我有一個問題,Ajax只打印「成功」,但圖像不在文件夾中。沒有Ajax工作的PHP。如何在不使用提交按鈕的情況下上傳圖片?

這是我的html:

<form action="../PHP/fotogaleria.php" method="post" class="form_fotogaleria" enctype="multipart/form-data"> 
    <div class="obal_fotogalerie"> 
     <div class="stvorcek"> 
      <label class="file_nahod"> 
       <input type="file" name="odoslat_fotogaleria" class="odid"> 
       <img class="priecinok" src="../Obrazky/folder.png"> 
       <p> Nahrať</p> 
      </label> 
     </div> <!-- koniec "stvorcek" --> 
    </div> <!-- koniec "obal_fotogalerie" --> 
</form> 

PHP:

$name = $_FILES['odoslat_fotogaleria']['name']; 
$tmp_name = $_FILES['odoslat_fotogaleria']['tmp_name']; 
$path = '../Obrazky-zvieratok/'; 
$cielovy_file = $path . basename($name); 


move_uploaded_file($tmp_name,$path.$name); 
echo "success"; 

這裏是AJAX:

$('.odid').change(function(e) { 
    e.preventDefault(); 
$.ajax({ 
url: '../PHP/fotogaleria.php', 
type: "POST", 
data: new FormData(this), 
contentType: false, 
cache: false, 
processData: false, 
success: function(data){ 
    console.log(data); 
} 

可有人^ h ELP?

+0

這個函數是否適合提交觸發ajax? – NewToJS

+0

看看你的控制檯 –

回答

1

您正在將輸入元素傳遞給構造函數FormData。您應該改爲傳遞表單元素。

data: new FormData($(this).closest('form').get(0)), 
相關問題