`
pearson
  • 浏览: 39752 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

FileUploadController

阅读更多
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

    FileUploadController.java

    Asp.Net WebApi 上传文件方法(原生js上传和JQ ajax上传)

    在Asp.Net WebApi框架中,开发Web服务接口来处理文件上传是一项常见的任务。本教程将探讨两种不同的客户端上传方式:原生JavaScript和jQuery AJAX。这两种方法都可以与Asp.Net WebApi结合,实现用户友好的文件上传...

    SpringBoot文件上传.docx

    <form action="fileUploadController" method="post" enctype="multipart/form-data"> 上传文件:<input type="file" name="filename"/> ``` 在这个表单中,`enctype="multipart/form-data"`属性是...

    ASP.NET Core单文件和多文件上传并保存到服务端的方法

    上述代码创建了一个名为`FileUploadController`的控制器,其中`UploadSingleFile`动作接收一个`IFormFile`参数。它首先检查是否有文件被选择,然后获取上传文件夹的路径,为文件生成一个唯一的文件名,最后将文件...

    spring mvc 文件上传

    在本篇博文中,我们将深入探讨如何实现这一功能,并基于`FileUploadController.java`这个类来讲解相关知识点。 首先,我们需要引入Spring MVC的`CommonsMultipartResolver`解析器,它是处理文件上传的关键组件。在`...

    JSF页面,<p:fileUpload组件文件上传

    &lt;p:fileUpload fileUploadListener="#{fileUploadController.handleFileUpload}" mode="advanced" dragDropSupport="false" multiple="true" update="messages" allowTypes="/(\.|\/)(gif|jpe?g|png)$/" /&gt; ...

    struts2中的url

    当 `FileUploadController` 的 `execute` 方法返回 `"upFileOk"` 时,系统将执行 `TestAction` 中的方法,该方法名由 `{1}` 动态确定。 #### 请求重定向至Action或JSP页面 除了请求转发之外,Struts2还支持请求...

    H5语音录入+百度语音识别完整版

    通过定义`@RequestMapping`注解的控制器方法,如`FileUploadController.java`中的方法,接收和处理这些请求。同时,SpringMVC还支持文件上传,可以处理用户通过表单提交的语音文件。 4. **百度语音识别API**: ...

    springmvc上传文件到FTP

    接下来,我们创建一个Spring MVC的控制器类,例如`FileUploadController`,并定义一个处理文件上传请求的方法。这个方法通常会接收一个`MultipartFile`对象,这是Spring MVC用来处理文件上传的特殊类型。下面是一个...

    SpringBoot实现文件上传和下载实现全过程(值得珍藏)

    - **创建Controller**:创建一个控制器类,比如`FileUploadController`,并在其中定义处理文件上传的`POST`请求方法。通常,我们会使用`@RequestParam MultipartFile file`来接收上传的文件。 - **验证与保存**:...

    spring mvc 附件上传代码

    - `&lt;bean id="uploadController" class="FileUploadController"&gt;`定义了名为`uploadController`的bean,其具体类为`FileUploadController`。 - `&lt;property name="commandClass"&gt;&lt;value&gt;FileUploadBean&lt;/value&gt;&lt;/...

    在一个form表单里同时上传多个文件和文本信息的解决方案

    private static final Log log = LogFactory.getLog(FileUploadController.class); @Override protected ModelAndView onSubmit(HttpServletRequest request, HttpServletResponse response, Object command, ...

    HTML5HTML5 选图 压缩 base64编码 上传 解码

    在服务器端,如Java环境中,我们可以使用像`FileUploadController.java`这样的控制器来处理上传的图片。例如,使用Apache Commons FileUpload库解析FormData,然后将Blob保存为文件。`FileUploadController`可能包含...

    springmvc+ajax带有文本域进行文件上传

    创建一个Controller类,例如`FileUploadController`,并定义一个处理文件上传请求的方法,如`@PostMapping("/upload")`。在这个方法中,使用`MultipartFile`接口来接收上传的文件,同时处理文本域的数据。注意,由于...

    关于使用multipart/form-data做文件上传的一点思考

    `FileUploadController.java`可能包含了处理文件上传请求的`@RequestMapping`方法,比如接收`SmartUpload`对象,解析文件,并将其保存到服务器的指定位置。 5. **SmartRequest**: 这可能是一个定制的HTTP请求包装...

    SpringBoot实现本地存储文件上传及提供HTTP访问服务.docx

    下面是一个示例`FileUploadController`: ```java @RestController public class FileUploadController { @Value("${web.upload-path}") private String uploadPath; // 使用SimpleDateFormat格式化日期,方便...

    SpringBoot(24) 整合七牛云实现文件上传

    public FileUploadController(QiniuFileService fileService) { this.fileService = fileService; } @PostMapping public ResponseEntity&lt;String&gt; upload(@RequestParam("file") MultipartFile file) { try {...

    基于Spring实现文件上传功能

    public class FileUploadController { @PostMapping("/upload") public String upload(@RequestParam("file") MultipartFile file) { // 处理上传的文件 return "uploadSuccess"; } } ``` 在上面的示例代码...

    asp.net mvc 4 web api 上传文件

    创建一个名为`FileUploadController`的控制器,并在其中定义一个接受POST请求的方法,例如`UploadFile`。这个方法通常会接收`HttpPostedFileBase`类型的参数,这是ASP.NET MVC提供的一种处理上传文件的类。 ```...

    dropfile--Java.rar_drop

    源代码通常会包含类、方法,如`FileUploadController`或`FileDownloadService`,以及可能的异常处理和日志记录。 总结来说,这个Java项目可能是一个文件上传和下载系统,使用了Java Servlet技术处理文件上传,HTTP...

Global site tag (gtag.js) - Google Analytics