2012-09-22 49 views

उत्तर

2

वसंत में बदल सकता है करने के लिए फ़ाइलों को कनवर्ट करने में शामिल हैं: आपका रूप की तरह निम्नलिखित दिखाई दे सकता है multipartresolver जो commons-fileupload पर निर्भर करता है, इसलिए इसका उपयोग करने के लिए आपको इसे अपने निर्माण में शामिल करना होगा।

अपने applicationContext.xml

<bean id="multipartResolver" 
    class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> 
    <!-- one of the properties available; the maximum file size in bytes --> 
    <property name="maxUploadSize" value="<max file size>"/> 
</bean> 

अपने नियंत्रक में, org.springframework.web.multipart.MultipartFile का उपयोग करें।

@RequestMapping(method=RequestMethod.POST, value="/multipartexample") 
public String examplePost(@RequestParam("fileUpload") MultipartFile file){ 
    // Handle form upload and return a view 
    // ... 
} 
+0

MutipartFile में 'पथ' और 'आईडी' विशेषता स्वचालित रूप से अनुरोध से पार्स की गई है? – xybrek

+0

यदि आप क्लाइंट कंप्यूटर पर फ़ाइल के पथ और इनपुट टैग की "आईडी" विशेषता का जिक्र कर रहे हैं, तो नहीं। वे हमेशा सर्वर पर नहीं भेजे जाते हैं। – pap

+0

ठीक है ... मैं इसे आज़माउंगा और उम्मीद है कि यह ऐप इंजन के साथ काम करेगा। – xybrek

0

यहाँ एक उदाहरण है कि कैसे आप वसंत में कुछ इसी तरह प्राप्त करने के लिए MVC एनोटेशन इस्तेमाल कर सकते हैं दिखा रहा है:

@RequestMapping(method=RequestMethod.POST, value="/multipartexample") 
public String examplePost(@ModelAttribute("fileUpload") FileUpload fileUpload){ 
    // Handle form upload and return a view 
    // ... 
} 

@InitBinder 
public void initBinder(ServletRequestDataBinder binder) { 
    binder.registerCustomEditor(byte[].class, new ByteArrayMultipartFileEditor()); 
} 

public class FileUpload implements Serializable { 
    private MultipartFile myFile; 

    public MultipartFile getMyFile() { 
     return myFile; 
    } 

    public void setMyFile(MultipartFile myFile) { 
     this.myFile = myFile; 
    } 
} 

आप, एचटीएमएल रूप से इस समाप्ति बिंदु को पोस्ट करने के लिए सक्षम होना चाहिए फ़ाइल तत्व के नाम यह सोचते हैं 'मायफाइल' है। एक है

<form:form commandName="fileUpload" id="fileUploadForm" enctype="multipart/form-data"> 
    <form:input type="file" path="myFile" id="myFile"/> 
</form:form> 

@InitBinder कोड महत्वपूर्ण है क्योंकि यह वसंत का निर्देश एक बाइट सरणी है, जो तब MultipartFile