2011-05-21 56 views
2

我怎樣才能得到的byte []來源:字節[]從Spring MVC中輸入文件

< input type="file" value="${restaurant.logo }" name="logo" /> in Spring MVC?

我想有byte []數組將其轉換爲base64。但我不知道如何簡單地將文件從輸入轉換爲字節[]。

回答

6
<form action="uploadLogo"> 
    <input type="file" ... /> 
</form> 

然後在@Controller

@RequestMapping("/uploadLogo") 
public String uploadLogo(@RequestParam MultipartFile logo) { 
    byte[] bytes = logo.getBytes(); 
    String base64 = new String(Base64.encodeBase64(bytes), "ISO-8859-2"); 
} 

(Base64是的commons-codec一部分)

+0

如何與MultiActionAndView功能做到這一點?我: >公開的ModelAndView myrestaurantadd(HttpServletRequest的請求, > \t \t \t HttpServletResponse的響應,餐廳>餐廳) – zax 2011-05-22 07:45:34

+0

只是方法參數追加到其餘 – Bozho 2011-05-22 07:50:19

+0

當我把requestparam到我的論點,我得到了錯誤:無法實例豆class [org.springframework.web.multipart.MultipartFile]:指定的類是一個接口 – zax 2011-05-22 08:02:50

0

查看org.springframework.web.multipart.MultipartFile,它可以打包上傳文件,並具有getBytes()方法將文件內容返回爲byte[]

如果您真的想要,您還可以將byte[]字段綁定到上傳的文件 - 只需將ByteArrayMultipartFileEditor註冊爲活頁夾的自定義編輯器。