2012-04-14 19 views
7

मैं उत्कृष्ट jquery-file-upload from blueimp को Grails 2.0 में एकीकृत करने और इसके लिए एक नई प्लगइन लिखने की कोशिश कर रहा हूं। मुझे पता है कि already a plugin है, लेकिन यह संसाधनों का उपयोग नहीं करता है और इसे 9 महीने के लिए अपडेट नहीं किया गया है, और उस समय jquery-file-upload बहुत बदल गया है।Grails में एकाधिक फ़ाइल अपलोड

तो मैं अपने प्लगइन में वितरण की फ़ाइलों के सभी डाल दिया, और अब मैं एक नियंत्रक कार्रवाई जो अपलोड संभाल कर सकते हैं लिखने के लिए कोशिश कर रहा हूँ। समस्या यह है कि request.getFileNames() केवल मुझे एक files[] प्रविष्टि देता है और मुझे नहीं पता कि मैं अपलोड कर रहे 3 अलग-अलग फ़ाइलों को कैसे पुनर्प्राप्त कर सकता हूं।

कैसे आप इस तरह एक इनपुट द्वारा भेजे गए फ़ाइलों को संभालने है: <input type="file" name="files[]" multiple>?

उत्तर

2

request.getFileNames एक सरणी देता है - आप इस सरणी सभी फाइलों को प्राप्त करने के लिए अधिक पुनरावृति कर सकते हैं। प्लगइन विवरण पर उदाहरण पहले से ही है।

def all = request.getFileNames() 
all.each {name -> 
    def file = request.getFile(name) 
} 

यह आपको अपलोड की गई सभी फाइलें देना चाहिए।

4

असल में मैंने इसे समझ लिया। फॉर्म में केवल एक input[type=file] है और यदि मैं कई फाइलों का चयन करता हूं तो उन्हें उसी अनुरोध पर नहीं भेजा जाता है। query-file-upload स्क्रिप्ट फाइलों के रूप में कई POST अनुरोध भेजता है। यही कारण है कि request.getFileNames() केवल मुझे हर बार एक प्रविष्टि देता है। मैं अपनी प्लगइन बनाने में कामयाब रहा, इसे जल्द ही प्रकाशित किया जाएगा। http://grails.org/plugin/bootstrap-file-upload के लिए देखें।

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