Fre*_*ser 11 java spring file-upload
我有一个jsp带有此代码段的代码片段.
<form name="AudioFileConversionForm" enctype="multipart/form-data" method="post" >
Choose File: <input type="file" id="audioFile" name="audioFile"><br>
<input type="submit" value="upload">
</form>
Run Code Online (Sandbox Code Playgroud)
这是我的控制器spring.
public String convertFile(HttpServletRequest request, HttpSession session) {
String audioFile = request.getParameter("audioFile");
System.out.println(request.getParameter("audioFile"));
System.out.println("Audio File Conversion Successful");
}
Run Code Online (Sandbox Code Playgroud)
它显示我无法检索文件的名称null.我知道我可以使用JQuery或javascript检索名称,但我不想同时使用它们.我想用纯java来做.谁能帮帮我吗?
Nan*_*ale 16
上传文件时,request是实例org.springframework.web.multipart.MultipartHttpServletRequest.所以你可以把它投射到你的方法中convertFile().见下文 :
public String convertFile(HttpServletRequest request, HttpSession session) {
// cast request
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
// You can get your file from request
CommonsMultipartFile multipartFile = null; // multipart file class depends on which class you use assuming you are using org.springframework.web.multipart.commons.CommonsMultipartFile
Iterator<String> iterator = multipartRequest.getFileNames();
while (iterator.hasNext()) {
String key = (String) iterator.next();
// create multipartFile array if you upload multiple files
multipartFile = (CommonsMultipartFile) multipartRequest.getFile(key);
}
// logic for conversion
}
Run Code Online (Sandbox Code Playgroud)
但是我无法检索(接收空值)我在JSP页面中选择的文件的名称.
--->要获取文件名,您可以将其作为:
multipartFile.getOriginalFilename(); // get filename on client's machine
multipartFile.getContentType(); // get content type, you can recognize which kind of file is, pdf or image or doc etc
multipartFile.getSize() // get file size in bytes
Run Code Online (Sandbox Code Playgroud)
要使文件上传起作用,您需要确保创建多部分解析器bean,如下所示:
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- one of the properties available; the maximum file size in bytes -->
<property name="maxUploadSize" value="100000"/>
</bean>
Run Code Online (Sandbox Code Playgroud)
参考:Spring文档
| 归档时间: |
|
| 查看次数: |
40227 次 |
| 最近记录: |