package cn.com.employee.web.controller;
import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.commons.logging.LogFactory;
import org.springframework.util.FileCopyUtils;
import org.springframework.validation.BindException;
import org.springframework.web.bind.ServletRequestDataBinder;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.multipart.commons.CommonsMultipartFile;
import org.springframework.web.multipart.support.ByteArrayMultipartFileEditor;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.SimpleFormController;
import cn.com.employee.domain.FileUploadBean;
import sun.rmi.runtime.Log;
public class FileUploadController extends SimpleFormController {
private String uploadDir;// 上传文件路径
public FileUploadController() {
setCommandClass(FileUploadBean.class);
setCommandName("fileUploadBean");
setFormView("uploadForm");
}
protected Map referenceData(HttpServletRequest request) throws Exception {
Map model = new HashMap();
model.put("filePathList", request.getSession().getAttribute(
"filePathList"));
// model.put("categories", this.petStore.getCategoryList());
return model;
}
protected ModelAndView onSubmit(HttpServletRequest request,
HttpServletResponse response, Object cmd, BindException errors)
throws Exception {
List list = new ArrayList();
HttpSession httpSession = request.getSession();
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
CommonsMultipartFile file = (CommonsMultipartFile) multipartRequest
.getFile("file");
String upLoadDir = this.getUploadDir();
File dirPath = new File(uploadDir);
String sep = System.getProperty("file.separator");
String filePath = upLoadDir + "/" + file.getOriginalFilename();
if (null != request.getSession().getAttribute("filePathList")) {
list = (ArrayList) request.getSession()
.getAttribute("filePathList");
list.add(filePath);
} else {
list.add(filePath);
}
httpSession.setAttribute("filePathList", list);
System.out.println("上传文件路径" + upLoadDir + "/"
+ file.getOriginalFilename());
return new ModelAndView("uploadForm");
/*
* FileUploadBean bean = (FileUploadBean) cmd; byte[] bytes =
* bean.getFile();
*
* MultipartHttpServletRequest multipartRequest =
* (MultipartHttpServletRequest) request; CommonsMultipartFile file =
* (CommonsMultipartFile) multipartRequest .getFile("file");
*
* String uploadDir = this.getUploadDir();
*
* File dirPath = new File(uploadDir);
*
* if (!dirPath.exists()) { dirPath.mkdirs(); } String sep =
* System.getProperty("file.separator");
*
* File uploadedFile = new File(uploadDir + sep +
* file.getOriginalFilename()); FileCopyUtils.copy(bytes, uploadedFile);
*
*
* return new ModelAndView(getSuccessView());
*/
}
protected void initBinder(HttpServletRequest request,
ServletRequestDataBinder binder) throws ServletException {
binder.registerCustomEditor(byte[].class,
new ByteArrayMultipartFileEditor());
}
public void setUploadDir(String uploadDir) {
this.uploadDir = uploadDir;
}
public String getUploadDir() {
return this.uploadDir;
}
}
分享到:
相关推荐
FileUploadController.java
在Asp.Net WebApi框架中,开发Web服务接口来处理文件上传是一项常见的任务。本教程将探讨两种不同的客户端上传方式:原生JavaScript和jQuery AJAX。这两种方法都可以与Asp.Net WebApi结合,实现用户友好的文件上传...
<form action="fileUploadController" method="post" enctype="multipart/form-data"> 上传文件:<input type="file" name="filename"/> ``` 在这个表单中,`enctype="multipart/form-data"`属性是...
上述代码创建了一个名为`FileUploadController`的控制器,其中`UploadSingleFile`动作接收一个`IFormFile`参数。它首先检查是否有文件被选择,然后获取上传文件夹的路径,为文件生成一个唯一的文件名,最后将文件...
在本篇博文中,我们将深入探讨如何实现这一功能,并基于`FileUploadController.java`这个类来讲解相关知识点。 首先,我们需要引入Spring MVC的`CommonsMultipartResolver`解析器,它是处理文件上传的关键组件。在`...
<p:fileUpload fileUploadListener="#{fileUploadController.handleFileUpload}" mode="advanced" dragDropSupport="false" multiple="true" update="messages" allowTypes="/(\.|\/)(gif|jpe?g|png)$/" /> ...
当 `FileUploadController` 的 `execute` 方法返回 `"upFileOk"` 时,系统将执行 `TestAction` 中的方法,该方法名由 `{1}` 动态确定。 #### 请求重定向至Action或JSP页面 除了请求转发之外,Struts2还支持请求...
通过定义`@RequestMapping`注解的控制器方法,如`FileUploadController.java`中的方法,接收和处理这些请求。同时,SpringMVC还支持文件上传,可以处理用户通过表单提交的语音文件。 4. **百度语音识别API**: ...
接下来,我们创建一个Spring MVC的控制器类,例如`FileUploadController`,并定义一个处理文件上传请求的方法。这个方法通常会接收一个`MultipartFile`对象,这是Spring MVC用来处理文件上传的特殊类型。下面是一个...
- **创建Controller**:创建一个控制器类,比如`FileUploadController`,并在其中定义处理文件上传的`POST`请求方法。通常,我们会使用`@RequestParam MultipartFile file`来接收上传的文件。 - **验证与保存**:...
- `<bean id="uploadController" class="FileUploadController">`定义了名为`uploadController`的bean,其具体类为`FileUploadController`。 - `<property name="commandClass"><value>FileUploadBean</value></...
private static final Log log = LogFactory.getLog(FileUploadController.class); @Override protected ModelAndView onSubmit(HttpServletRequest request, HttpServletResponse response, Object command, ...
在服务器端,如Java环境中,我们可以使用像`FileUploadController.java`这样的控制器来处理上传的图片。例如,使用Apache Commons FileUpload库解析FormData,然后将Blob保存为文件。`FileUploadController`可能包含...
创建一个Controller类,例如`FileUploadController`,并定义一个处理文件上传请求的方法,如`@PostMapping("/upload")`。在这个方法中,使用`MultipartFile`接口来接收上传的文件,同时处理文本域的数据。注意,由于...
`FileUploadController.java`可能包含了处理文件上传请求的`@RequestMapping`方法,比如接收`SmartUpload`对象,解析文件,并将其保存到服务器的指定位置。 5. **SmartRequest**: 这可能是一个定制的HTTP请求包装...
下面是一个示例`FileUploadController`: ```java @RestController public class FileUploadController { @Value("${web.upload-path}") private String uploadPath; // 使用SimpleDateFormat格式化日期,方便...
public FileUploadController(QiniuFileService fileService) { this.fileService = fileService; } @PostMapping public ResponseEntity<String> upload(@RequestParam("file") MultipartFile file) { try {...
public class FileUploadController { @PostMapping("/upload") public String upload(@RequestParam("file") MultipartFile file) { // 处理上传的文件 return "uploadSuccess"; } } ``` 在上面的示例代码...
创建一个名为`FileUploadController`的控制器,并在其中定义一个接受POST请求的方法,例如`UploadFile`。这个方法通常会接收`HttpPostedFileBase`类型的参数,这是ASP.NET MVC提供的一种处理上传文件的类。 ```...
源代码通常会包含类、方法,如`FileUploadController`或`FileDownloadService`,以及可能的异常处理和日志记录。 总结来说,这个Java项目可能是一个文件上传和下载系统,使用了Java Servlet技术处理文件上传,HTTP...