JavaWEB——文件上传与下载

上传功能:
jsp页面
请求方式一定是post

<form action="uploadServlet" method="post" enctype="multipart/form-data">
    File:<input type="file" name="file"/>
    Desc:<input type="desc" name="desc"/>
    <input type="submit" value=Submit"/>
</form>

Servlet代码:(利用fileupload相关组件)

//创建FileFactory的工厂
FileItemFactory factory = new DiskFileItemFactory();
File tempDirectory = new File("d:\\tempDirectory");
factory.setRepository(tempDirectory);
ServletFileUpload upload =  new ServletFileUpload(factory);
//解析请求
List items = upload.parseRequest(request);
for(FileItem item:items){
    //若是一般的表单域,打印信息
    if(item.isFormFiled()){
        String name = item.getFiledName();
        String value = item.getString();
    }
    else{
        String fieldName = item.getFiledName();
        String fileName =  item.getName();

        InputStream in = item.getInputStream();
        byte[] buffer = new byte[1024];
        int len = 0;

        fileName = "d:\\files\\"+fileName;
        OutputStream out = new FileOutputStream(fileName);
        while((len = in.read(buffer))!= -1){
            out.write(buffer,0,len);
        }
        out.close();
        in.close();
    }
}

FileItemFactory和ServletFileUpload里面有方法可以做文件大小的限定

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值