免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1472 | 回复: 0
打印 上一主题 下一主题

JSP/servlet文件上传 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-04-13 21:20 |只看该作者 |倒序浏览

JSP/servlet文件上传
common-fileupload组件
下载地址:http://jakarta.apache.org/commons/fileupload/
下载后解压zip包,将commons-fileupload-1.0.jar复制到tomcat的webapps\你的webapp\WEB-INF\lib\下
Create a servlet
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import org.apache.commons.fileupload.*;
public class Upload extends HttpServlet {
    private String uploadPath = "C:\\upload\\"; // 用于存放上传文件的目录
    private String tempPath = "C:\\upload\\tmp\\"; // 用于存放临时文件的目录
public void doPost(HttpServletRequest request, HttpServletResponse response)
    throws IOException, ServletException
{
    try {
        DiskFileUpload fu = new DiskFileUpload();
        // 设置最大文件尺寸,这里是4MB
        fu.setSizeMax(4194304);
        // 设置缓冲区大小,这里是4kb
        fu.setSizeThreshold(4096);
        // 设置临时目录:
        fu.setRepositoryPath(tempPath);
        // 得到所有的文件:
        List fileItems = fu.parseRequest(request);
        Iterator i = fileItems.iterator();
        // 依次处理每一个文件:
        while(i.hasNext()) {
            FileItem fi = (FileItem)i.next();
            // 获得文件名,这个文件名包括路径:
            String fileName = fi.getName();
            if(fileName!=null) {
                // 在这里可以记录用户和文件信息
                // ...
                // 写入文件a.txt,你也可以从fileName中提取文件名:
                fi.write(new File(uploadPath + "a.txt"));
            }
        }
        // 跳转到上传成功提示页面
    }
    catch(Exception e) {
        // 可以跳转出错页面
    }
}
}
//当servlet收到浏览器发出的Post请求后,在doPost()方法中实现文件上传。以下是示例代码:
如果要在配置文件中读取指定的上传文件夹,可以在init()方法中执行:
public void init() throws ServletException {
    uploadPath = ....
    tempPath = ....
    // 文件夹不存在就自动创建:
    if(!new File(uploadPath).isDirectory())
        new File(uploadPath).mkdirs();
    if(!new File(tempPath).isDirectory())
        new File(tempPath).mkdirs();
}
配置servlet,用记事本打开tomcat\webapps\你的webapp\WEB-INF\web.xml,没有的话新建一个。典型配置如下:
http://java.sun.com/dtd/web-app_2_3.dtd
">
   
        Upload
        Upload
   
   
        Upload
        /fileupload
   
配置好servlet后,启动tomcat,写一个简单的html测试:
  
  
注意action="fileupload"其中fileupload是配置servlet时指定的url-pattern。



本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/12056/showart_1899603.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP