CommonsMultipartFile---用Spring实现文件上传
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();
- }