這篇文章給大家介紹利用SpringMVC如何實(shí)現(xiàn)一個(gè)文件上傳下載功能,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
為鄠邑等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及鄠邑網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、鄠邑網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!文件上傳
文件上傳是項(xiàng)目開發(fā)中最常見的功能。為了能上傳文件,必須將表單的method設(shè)置為POST,并將enctype設(shè)置為multipart/form-data。只有在這樣的情況下,瀏覽器才會(huì)把用戶選擇的文件以二進(jìn)制數(shù)據(jù)發(fā)送給服務(wù)器。
一旦設(shè)置了enctype為multipart/form-data,瀏覽器即會(huì)采用二進(jìn)制流的方式來處理表單數(shù)據(jù),而對于文件上傳的處理則涉及在服務(wù)器端解析原始的HTTP響應(yīng)。在2003年,Apache Software Foundation發(fā)布了開源的Commons FileUpload組件,其很快成為Servlet/JSP程序員上傳文件的最佳選擇。
Servlet3.0規(guī)范已經(jīng)提供方法來處理文件上傳,但這種上傳需要在Servlet中完成。而SpringMVC則提供了更簡單的封裝。
SpringMVC為文件上傳提供了直接的支持,這種支持是用即插即用的MultipartResolver實(shí)現(xiàn)的。SpringMVC使用Apache Commons FileUpload技術(shù)實(shí)現(xiàn)了一個(gè)MultipartResolver實(shí)現(xiàn)類:CommonsMultipartResolver。因此,SpringMVC的文件上傳還需要依賴Apache Commons FileUpload的組件。
本項(xiàng)目作為測試案例,在此我就不創(chuàng)建Maven項(xiàng)目了,我直接創(chuàng)建的是一個(gè)Dynamic Web Project(動(dòng)態(tài)的web項(xiàng)目),采用Tomcat 8作為web服務(wù)器,我們需要在項(xiàng)目中引入以下jar包,如下圖:
下面我們在WebContent/WEB-INF下創(chuàng)建一個(gè)content文件夾,用于放文件的上傳、下載等jsp文件,下面我們創(chuàng)建uploadForm.jsp文件,演示SpringMVC的文件上傳:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>文件上傳 文件上傳