2017-01-19 7 views
1

Ich bin dabei, eine Funktion zum Hochladen einer Datei (CSV) mit AJAX zu erstellen. Dies ist nur ein grober Code, seit ich arbeite und momentan ein Tutorial befolge. Ich benutze XAMPP für Server-Seiten-SprachenAjax-Datei-Upload wird nicht im Verzeichnis gespeichert

Nach der Ausführung bekomme ich eine Warnung, die (object FormData) innerhalb angezeigt und neben dem ist das Upload-Verzeichnis nach dem Senden der Datei leer. Das Projekt umfasst derzeit drei Elemente. (Uploads Ordner, index.php und upload.php)

enter image description here

HTML

<form method="post" enctype="multipart/form-data"> 
    <input id="file-uploading" type="file" name="fileUploading" /> 
    <button id="upload" value="upload">Upload</button> 
</form> 

JAVASCRIPT

$('#upload').on('click', function() { 
    var file_data = $('#file-uploading').prop('files')[0]; 
    var form_data = new FormData();     
    form_data.append('file', file_data); 
    alert(form_data);        
    $.ajax({ 
       url: 'upload.php', 
       dataType: 'text', 
       cache: false, 
       contentType: false, 
       processData: false, 
       data: form_data,       
       type: 'post', 
       success: function(){ 
        console.log('success'); 
       } 
    }); 
}); 

PHP

<!doctype html> 

<html> 

<body> 

<?php 

    if (0 < $_FILES['file']['error']) { 
     echo 'Error' . $_FILES['file']['error'] . '<br/>'; 
    } 

    else { 

     move_uploaded_file($_FILES['file']['tmp_name'], 'uploads/' . $_FILES['file']['name']); 

    } 

?> 

</body> 

</html> 
+0

Ihr Formularelement benötigt die enctype Erklärung heißt

jeff

+0

Ja, das in meinem Formular Element deklariert, bevor Sie es erwähnt. Immer noch das gleiche Ergebnis – clestcruz

+0

versuchen '$ ('# Datei-Upload'). Dateien [0];' –

Antwort

0

Ich teste successful.I "uploads" Berechtigungen denken, ist nicht right.You tun sollten:

sudo chown -R www-data: www-data Uploads

0

Ich glaube, Sie fehlen aus auf dem Attribut enctype auf dem Formular.

Das Attribut enctype gibt an, wie die Formulardaten codiert werden sollen, wenn sie an den Server gesendet werden.

<form method="post" enctype="multipart/form-data"> 
// your content 
</form> 

this helps ..

+0

Ich habe hinzugefügt dass früher und immer noch das gleiche Ergebnis – clestcruz

+0

Dann versuchen Sie, die Berechtigung des Upload-Verzeichnisses zu ändern. Setzen Sie es auf 777. – Amit

+0

können Sie den Pfad der Datei von der Serverseite lesen? – Amit

Verwandte Themen