grails

2009-03-05 16 views
6

मैं का उपयोग करता है जो ajax.I की बहुत का उपयोग कर ajax.I न जानते हैं कि कैसे फ़ाइल upload.My नमूना जीएसपी कोड के लिए ajax का उपयोग करने के फाइल अपलोड लागू करना चाहते हैं एक WebApplication grails का उपयोग कर बनाने हूँ में दूरस्थ फाइल अपलोड है:grails

<!-- code for file upload form--> 
<div id="updateArea"> 

</div> 

मैंने कोशिश की और। अपलोड करने के बाद मैं परिणाम के साथ 'अपडेट एरिया' अपडेट करना चाहता हूं। परिणामस्वरूप मैं अपलोड की गई फाइल का विवरण दिखाने की योजना बना रहा हूं।

+0

को एक नजर डालें [इस] (http://stackoverflow.com/a/27602218/2835520) जवाब – IgniteCoders

उत्तर

3

अजाक्स के माध्यम से एक फ़ाइल अपलोड करना वास्तव में संभव नहीं है। आप अभी भी एक छिपी हुई आईफ्रेम का उपयोग कर पृष्ठभूमि में एक फ़ाइल अपलोड कर सकते हैं और या तो अपलोड पूरा होने के बाद repsonse (जो iframe के अंदर है) का मूल्यांकन कर सकते हैं या किसी अन्य AJAX कॉल को आग लगाना शुरू कर सकते हैं।

<g:form name="upload-form" action="upload" method="post" enctype="multipart/form-data" target="hidden-upload-frame"> 
    File: <input type="file" name="myFile" /> 
    <button type="submit">Upload</button> 
</g:form> 

<iframe id="hidden-upload-frame" name="hidden-upload-frame" style="display: none" onload="onUploadComplete"> 
</iframe> 

<script type="text/javascript"> 
    function onUploadComplete(e) { 
     // Handle upload complete 
     alert("upload complete"); 
     // Evaluate iframe content or fire another ajax call to get the details for the previously uploaded file 
    } 
</script> 

एक अन्य विकल्प एक फ्लैश आधारित अपलोडिंग तंत्र (जैसे। swfupload) के बजाय iframe उपयोग करने के लिए है।

+0

हाय Siegfried Puchbauer.I की कोशिश की अपने answer.But आइफ्रेम मोज़िला फ़ायरफ़ॉक्स में काम नहीं कर रहा है और आईई ब्राउजर.मैंने Google क्रोम ब्राउजर के साथ कोशिश की। यह काम कर रहा है। यह काम आईई और फ़ायरफ़ॉक्स में कैसे करें? – DonX

+0

हाय। क्षमा करें, यह एक टाइपो था। आम तौर पर आपको iframe के नाम विशेषता को परिभाषित करना होता है, न कि आईडी विशेषता जिसे मैंने अनजाने में किया था। चीयर्स –

+0

उत्तर और त्वरित प्रतिक्रिया के लिए बहुत बहुत धन्यवाद.अब समस्या हल हो गई। – DonX