2016-08-11 48 views
1

AJAXがサーバーにファイル(PDF)をアップロードしようとしています。これは、laravelプロジェクトのPHPスクリプトによって処理されます。ファイルを送信してサーバー上で受信することができません。AJAXを使用してサーバーにPDFファイルを送信する(PHP LARAVEL)

ネットワークでは、POST要求が200応答を受け取っていますが、'ファイルが存在しません'という応答が戻ってきています。これはlaravelの応答です

はまた、POSTリクエストで要求ペイロードには、以下の

------WebKitFormBoundaryliAmA3wxs0bB32iZ-- 

が含まれている以下のJSとHTMLやPHPをご覧ください。

HTML

<form enctype="multipart/form-data"> 
    <input type="file" id="cv" name="cv"/> 
    <button id="file-send">Add</button> 
</form> 

JS

$('#file-send').bind('click', function() { 
    $.ajax({ 
     url:"test", 
     data: new FormData($("#cv")[0]), 
     type:'POST', 
     processData: false, 
     contentType: false, 
     success:function(response){ 
     console.log(response); 
     }, 
    }); 
}); 

LARAVELのCODE

public static function uploadingFile(){ 
     if (Input::hasFile('cv')) 
{ 
    return "file present"; 
} 
else{ 
    return "file not present"; 
} 
+0

それは、アイフレームが可能であり、AJAXリクエストを通じてファイルを送信することはできません。 – marko

+0

@markoそれについては確かですか? - http://stackoverflow.com/questions/5392344/sending-multipart-formdata-with-jquery-ajax –

答えて

0

このお試しください:uploaにこのプラグインを試してみてください

<?php 
    if ($_FILES['file']['error'] > 0){ 
     echo 'Error: ' . $_FILES['file']['error'] . '<br>'; 
    } 
    else { 
     if(move_uploaded_file($_FILES['file']['tmp_name'], 'uploads/' . $_FILES['file']['name'])) 
     { 
      echo "File Uploaded Successfully"; 
     } 
    } 

?> 
0

JS:

$('#file-send').on('click', function() { 
     var file_data = $('#pic').prop('files')[0]; 
     var form_data = new FormData(); 
     form_data.append('file', file_data); 

     $.ajax({ 
       url   : 'upload.php',  // point to server-side PHP script 
       dataType : 'text',   // what to expect back from the PHP script, if anything 
       cache  : false, 
       contentType : false, 
       processData : false, 
       data  : form_data,       
       type  : 'post', 
       success  : function(output){ 
        alert(output);    // display response from the PHP script, if any 
       } 
     }); 
     $('#pic').val('');      /* Clear the file container */ 
    }); 

PHPをDファイル

http://malsup.com/jquery/form/#file-upload

var options = { 
          beforeSubmit: showRequest, 
          success: showResponse, 
          dataType :'json'     
         }; 

    $('#file-send').ajaxSubmit(options); 

function showRequest() 
{ 
    //before uploading file 
} 

function showResponse() 
{ 
    //response after uploading file 
} 
関連する問題