CommonsMultipartFile
Spring提供的读取文件的类,使用方便,依赖spring-web-3.1.2.RELEASE.jar
包路径:
java.lang.Object
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();
}