2015-09-03 20 views
17

मैं अपने laravel ajax आवेदन में समस्या आ रही है,Laravel 5 अजाक्स फ़ाइल/छवि अपलोड

मैं ajax पोस्ट के माध्यम से अपलोड नहीं कर सकते छवियों/फ़ाइलें।

यहां मेरा कोड है।

अजाक्स ..

/*Add new catagory Event*/ 
$(".addbtn").click(function(){ 
$.ajax({ 
     url:'add-catagory', 
     data:{ 
     logo:new FormData($("#upload_form")[0]), 
     }, 
     dataType:'json', 
     async:false, 
     type:'post', 
     processData: false, 
     contentType: false, 
     success:function(response){ 
     console.log(response); 
     }, 
    }); 
}); 
/*Add new catagory Event*/ 

ब्लेड टेम्पलेट ...

<form enctype="multipart/form-data" id="upload_form" role="form" method="POST" action="" > 
     <div class="form-group"> 
     <label for="catagry_name">Name</label> 
     <input type="hidden" name="_token" value="{{ csrf_token()}}"> 
     <input type="text" class="form-control" id="catagry_name" placeholder="Name"> 
     <p class="invalid">Enter Catagory Name.</p> 
     </div> 
     <div class="form-group"> 
     <label for="catagry_name">Logo</label> 
     <input type="file" class="form-control" id="catagry_logo"> 
     <p class="invalid">Enter Catagory Logo.</p> 
    </div> 

    </form> 
    </div> 
    <div class="modelFootr"> 
     <button type="button" class="addbtn">Add</button> 
     <button type="button" class="cnclbtn">Reset</button> 
    </div> 
    </div> 

नियंत्रक ..

public function catadd(){ 
    if (Input::hasFile('logo')) 
    { 
     return "file present"; 
    } 
    else{ 
     return "file not present"; 
    } 
} 

मार्ग ..

Route::post('add-catagory',['as'=>'catagory_add','uses'=>'[email protected]']); 

मेरे कोड में त्रुटि क्या है ???

मैं laravel नियंत्रक में फ़ाइल जानकारी ..

मैं इस समस्या को कैसे हल कर सकते हैं प्राप्त नहीं कर सकते ...? अपने नियंत्रक में

+0

यहां कोई विचार http://stackoverflow.com/questions/38893450/sending-pdf-file-to-server-using-ajax –

उत्तर

20

दो बातें बदलने के लिए:

से अपने js फ़ाइल को बदलें:

data:{ 
    logo:new FormData($("#upload_form")[0]), 
}, 

करने के लिए:

data:new FormData($("#upload_form")[0]), 

क्योंकि आप पूरे प्रपत्र भेजना चाहते हैं।

अपने html में:

अपनी फ़ाइल इनपुट क्षेत्र

<input type="file" class="form-control" id="catagry_logo"> 

में एक नाम जोड़ें करने के लिए:

<input type="file" name="logo" class="form-control" id="catagry_logo"> 
+3

Woooooooooooooow .. धन्यवाद दोस्त ... यह सही काम कर रहा है। –

+1

यह कहता है TypeError: अवैध आमंत्रण –

+0

यह कहता है कि Google, अच्छे लड़के, सहायक पर जवाब मिलते हैं;) – Iamzozo

1

चेक आप क्या मिलता है जब आप यह पोस्ट करें

echo dd(Input::all()); 

चेक फ़ाइलें php में आपत्ति है। यह PHP में:

$_FILES 

Request::file("logo"); 

हाँ, तुम नहीं वास्तव में किसी भी डेटा पोस्ट कर रहे हैं? क्या वास्तव में पोस्ट पोस्टिंग है?

+0

यह दिखाता है कि यह ब्लै ब्लै स्क्रिप्ट्स दोस्त है। –

+0

php में फ़ाइलों ऑब्जेक्ट के बारे में क्या? – marko

+0

कोई रास्ता नहीं है .. क्या फॉर्मडाटा के साथ कोई समस्या है? –

1

यह मेरी वजह से dataType:'json' के लिए काम नहीं करता। अगर किसी को त्रुटि मिलती है तो बस dataType:'json' हटा दें।

संबंधित मुद्दे