實(shí)現(xiàn)圖片上傳
用戶(hù)必須能夠上傳圖片,因此需要文件上傳的功能。比較常見(jiàn)的文件上傳組件有Commons FileUpload(http://jakarta.apache.org/commons/fileupload/a>)和COS FileUpload(http://www.servlets.com/cos),Spring已經(jīng)完全集成了這兩種組件,這里我們選擇Commons FileUpload。
由于Post一個(gè)包含文件上傳的Form會(huì)以multipart/form-data請(qǐng)求發(fā)送給服務(wù)器,必須明確告訴DispatcherServlet如何處理MultipartRequest。首先在dispatcher-servlet.xml中聲明一個(gè)MultipartResolver:
<bean id="multipartResolver"
?????? class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
??????? <!-- 設(shè)置上傳文件的最大尺寸為1MB -->
??????? <property name="maxUploadSize">
??????? <value>1048576</value>
??? </property>
</bean>
這樣一旦某個(gè)Request是一個(gè)MultipartRequest,它就會(huì)首先被MultipartResolver處理,然后再轉(zhuǎn)發(fā)相應(yīng)的Controller。
在UploadImageController中,將HttpServletRequest轉(zhuǎn)型為MultipartHttpServletRequest,就能非常方便地得到文件名和文件內(nèi)容:



















生成縮略圖 (目錄)
當(dāng)用戶(hù)上傳了圖片后,必須生成縮略圖以便用戶(hù)能快速瀏覽。我們不需借助第三方軟件,JDK標(biāo)準(zhǔn)庫(kù)就包含了圖像處理的API。我們把一張圖片按比例縮放到120X120大小,以下是關(guān)鍵代碼:







































