代码编写不对
新版本中DiskFileUpload已经取消(depcreated)DiskFileItemFactory factory = new DiskFileItemFactory();
// maximum size that will be stored in memory
factory.setSizeThreshold(4096);
// the location for saving data that is larger than getSizeThreshold()
factory.setRepository(new File("c:\\temp"));
ServletFileUpload upload = new ServletFileUpload(factory);
新版本中DiskFileUpload已经取消(depcreated)DiskFileItemFactory factory = new DiskFileItemFactory();
// maximum size that will be stored in memory
factory.setSizeThreshold(4096);
// the location for saving data that is larger than getSizeThreshold()
factory.setRepository(new File("c:\\temp"));
ServletFileUpload upload = new ServletFileUpload(factory);
解决方案 »
- 插入到数据库的数据是乱码,用了jspsmart的.
- 从action中为什么不能把数据在继续往业务层传
- 这是什么错误 如何解决?
- 如何修改form表单中多条记录的值
- Symbian客户端发出的中文请求,JavaWEB如何转成中文不是乱码
- struts+hibernate架的论坛,正常操作几次后出错
- Web页面即时消息问题
- 请问jsp页面中的$标志到底是怎么回事?
- 大哥大姐请进`````进则有分``谢谢```----------JSP输出表格问题```
- jsp+SQL server 7.0中奇怪的中文显示!
- 用Servlet调用Servlet
- 第一次尝试用hibernate,google了还是不知道为什么错误..
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Iterator;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileItemFactory;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;public class FileUpload extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request,response);
} public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { boolean isMultipart = ServletFileUpload.isMultipartContent(request);
if(isMultipart){
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
Iterator items;
try{
items = upload.parseRequest(request).iterator();
while(items.hasNext()){
FileItem item = (FileItem) items.next();
if (!item.isFormField()){
//取出上传文件的文件名称
String name = item.getName();
String fileName = name.substring(name.lastIndexOf('\\')+1,name.length());
String path = request.getRealPath("file")+File.separatorChar+fileName;
//上传文件
File uploadedFile = new File(path);
item.write(uploadedFile);
//打印上传成功信息 response.setContentType("text/html");
response.setCharacterEncoding("gb2312");
PrintWriter out = response.getWriter();
out.print("<font size='2'> 上传的文件为:"+name+"<br>");
out.print("保存的地址为: "+path+"<font>");
}
}
}catch(Exception e){
e.printStackTrace();
}
}
}
}
<!-- 文件上传 -->
<servlet>
<servlet-name>FileUpload</servlet-name>
<servlet-class>servlet.test.FileUpload</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>FileUpload</servlet-name>
<url-pattern>/FileUpload</url-pattern>
</servlet-mapping>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>commonfileupload上传文件示例</title> </head>
<body>
<font size="2">
commonfileupload上传文件示例<br>
<form method="POST" action="FileUpload" ENCTYPE="multipart/form-data">
文件 : <input type="file" name="file"/>
<input type="submit" value="上传" name="submit"/>
</form>
</font>
</body>
</html>