使用MultipartFile怎么實現(xiàn)一個文件上傳功能?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
創(chuàng)新互聯(lián)是一家以網(wǎng)絡技術公司,為中小企業(yè)提供網(wǎng)站維護、網(wǎng)站制作、成都網(wǎng)站制作、網(wǎng)站備案、服務器租用、國際域名空間、軟件開發(fā)、小程序定制開發(fā)等企業(yè)互聯(lián)網(wǎng)相關業(yè)務,是一家有著豐富的互聯(lián)網(wǎng)運營推廣經(jīng)驗的科技公司,有著多年的網(wǎng)站建站經(jīng)驗,致力于幫助中小企業(yè)在互聯(lián)網(wǎng)讓打出自已的品牌和口碑,讓企業(yè)在互聯(lián)網(wǎng)上打開一個面向全國乃至全球的業(yè)務窗口:建站歡迎來電:028-86922220
一.主要有兩個java類,和一般的servlet放在一起即可.
1.FileUploadBean.java
package chb.demo.web; import org.springframework.web.multipart.MultipartFile; /** * @author chb * */ public class FileUploadBean { private MultipartFile file; public void setFile(MultipartFile file) { this.file = file; } public MultipartFile getFile() { return file; } }
2.FileUploadController.java
package chb.demo.web; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.validation.BindException; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.SimpleFormController; /** * @author chb * */ public class FileUploadController extends SimpleFormController { protected ModelAndView onSubmit( HttpServletRequest request, HttpServletResponse response, Object command, BindException errors){ try { // cast the bean FileUploadBean bean = (FileUploadBean) command; // let's see if there's content there MultipartFile file = bean.getFile(); if (file == null) { throw new Exception("上傳失?。何募?空"); } if(file.getSize()>10000000) { throw new Exception("上傳失?。何募笮〔荒艹^10M"); } //得到文件?名 String filename=file.getOriginalFilename(); if(file.getSize()>0){ try { SaveFileFromInputStream(file.getInputStream(),"D:/",filename); } catch (IOException e) { System.out.println(e.getMessage()); return null; } } else{ throw new Exception("上傳失敗:上傳文件不能為?空"); } // well, let's do nothing with the bean for now and return: try { return super.onSubmit(request, response, command, errors); } catch (Exception e) { System.out.println(e.getMessage()); return null; } } catch(Exception ex) { System.out.println(ex.getMessage()); return null; } } /**保存文件 * @param stream * @param path * @param filename * @throws IOException */ public void SaveFileFromInputStream(InputStream stream,String path,String filename) throws IOException { FileOutputStream fs=new FileOutputStream( path + "/"+ filename); byte[] buffer =new byte[1024*1024]; int bytesum = 0; int byteread = 0; while ((byteread=stream.read(buffer))!=-1) { bytesum+=byteread; fs.write(buffer,0,byteread); fs.flush(); } fs.close(); stream.close(); } }
二.配置文件中如下配置:
1.web.xml,利用spring mvc模式,大家應該都很熟悉了
chb org.springframework.web.servlet.DispatcherServlet 1 chb *.do
2.chb-servlet.xml,這里要配置映射,并可以設定最大可上傳文件的大小
action index fileUploadController
三.設定jsp頁面
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。