使用ocupload外掛上傳檔案
CommonsMultipartFile
Spring提供的讀取檔案的類,使用方便,依賴spring-web-3.1.2.RELEASE.jar
包路徑:
org.springframework.web.multipart.commons.CommonsMultipartFile
方法彙總:
byte[] | getBytes() |
Return the contents of the file as an array of bytes. |
String |
getContentType() |
Return the content type of the file. |
FileItem | getFileItem() |
Return the underlying org.apache.commons.fileupload.FileItem instance |
InputStream | getInputStream() |
Return an InputStream to read the contents of the file from. |
String | getName() |
Return the name of the parameter in the multipart form. |
String | getOriginalFilename |
Return the original filename in the client's filesystem. |
long | getSize() |
Return the size of the file in bytes. |
String | getStorageDescription() |
Return a description for the storage location of the multipart content. |
protected boolean |
isAvailable() |
Determine whether the multipart content is still available. |
boolean | isEmpty() |
Return whether the uploaded file is empty, that is, either no file has been chosen in the multipart form or the chosen file has no content. |
voic | transferTo(File dest) |
Transfer the received file to the given destination file. |
使用方法:
1.spring配置檔案配置檔案上傳解析器
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="defaultEncoding" value="utf-8"></property> <property name="maxUploadSize" value="90000000" /> <property name="uploadTempDir" value="uploadFiles"></property> </bean>
2.html寫法注意兩點
a.input型別為file:<input type="file" name="sealPfxFile" id="sealPfxFile" size="24" />
b.form中增加引數enctype="multipart/form-data":
<form id="addSeal" name="addSeal" action="${root}/seal/o_add.do" enctype="multipart/form-data" method="post">
3.Service的寫法(注意與html中定義的名稱相同即可通過get方法取得需要的內容)
public String doAction(@RequestParam("sealPfxFile") CommonsMultipartFile sealPfxFile, Seal seal, ModelMap modelMap, HttpServletRequest request) throws Exception {
//上傳檔名
String fileName = sealPfxFile.getFileItem().getName();
//上傳檔案流
InputStream is = sealPfxFile.getInputStream();
}