SpringMVC文件上传的SmartUpload版例子
文件上传
马克- to-win:马克 java社区:防盗版实名手机尾号: 73203。
例3.1:
<%@ page contentType="text/html; charset=GBK" %>
<html>
<body>
<h1>
<%
if(request.getParameter("i")!=null)
{
out.print("上传了"+request.getParameter("i")+"个文件");
}
%>
</h1>
we must use post, otheriwse, report negativeArray error.
<form method="post" action="uploadF.do" enctype="multipart/form-data">
<br>
<input type="text" name="user" value="可以中文"/>
<!--the following name does not matter.-->
<input type="file" name="upload"/>
<input type="file" name="upload1"/>
<br>
<input type="submit" name="Submit" value="Submit">
<input type="reset" value="Reset">
</form>
</body>
</html>
package com;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.springframework.context.ApplicationContext;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.context.ServletConfigAware;
import org.springframework.web.context.ServletContextAware;
import org.springframework.web.context.support.WebApplicationContextUtils;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.support.RequestContextUtils;
import com.jspsmart.upload.File;
import com.jspsmart.upload.Files;
import com.jspsmart.upload.SmartUpload;
import com.jspsmart.upload.SmartUploadException;
@Controller
public class HelloWorldController implements ServletConfigAware,ServletContextAware {
private ServletContext servletContext;
@Override
public void setServletContext(ServletContext arg0) {
this.servletContext = arg0;
}
private ServletConfig servletConfig;
@Override
public void setServletConfig(ServletConfig arg0) {
this.servletConfig = arg0;
}
@RequestMapping("/uploadF.do")
public void uploadF(HttpServletRequest request, HttpServletResponse response,
HttpSession sesssion) throws IOException, ServletException {
System.out.println("user1 is " + request.getParameter("user"));
SmartUpload su = new SmartUpload();
int i = 0;
ServletContext sec=RequestContextUtils.getWebApplicationContext(request).getServletContext();
ApplicationContext app = WebApplicationContextUtils.getWebApplicationContext(sec);
String s = sec.getRealPath("");
System.out.println("s is" + s);
su.initialize(servletConfig, request, response);
try {
su.upload();
i = su.save(s + "/upload");
} catch (SmartUploadException e) {
e.printStackTrace();
}
Files files = su.getFiles();
File f = (File) files.getFile(0);
System.out.println("upload file name is " + f.getFileName());
com.jspsmart.upload.Request r = su.getRequest();
System.out.println("中文user is " + r.getParameter("user"));
response.sendRedirect("upload.jsp?i=" + ("" + i));
}
}
本例里面也教会了大家如何获取ServletContext,servletConfig,ApplicationContext(注意有的Spring项目不是Web类型的,比如有的有main方法)等