服务器处理文件上传

距离上一次写有关图片上传的内容已经过了挺久的了,上一次还是在做毕业设计期间,现在已经是完全离开校园的时候了,最近一个月在公司可以说有一点点时间去学习有关JAVA WEB更多的内容了。虽然在公司里既负责php的开发任务也负责JAVA的开发任务,但是学到的东西还是挺多的。
这一次又来写一写有关于图片上传的内容。

先来复习一下之前所写的内容图片上传处理,在里面大部分的内容主要集中在前端的内容,包括input按钮的美化和图片的预览功能,对于后台的处理过程,只写了基于spring框架下的处理过程,局限性比较大。而在新的公司里,项目的整体完全是在原生的jsp+servlet中的,所以为了能够适应原生的servlet中的图片上传,特别写了这一篇博客。
首先,以下的代码都是基于两个jar包:common-io.jar和common-fileupload.jar
然后具体的代码如下:

public void getFile(HttpServletRequest request) throws FileUploadException, UnsupportedEncodingException{
        //获取工厂
        DiskFileItemFactory factory = new DiskFileItemFactory();
        //将form表单里面的内容变成一个个FileItem
        ServletFileUpload upload = new ServletFileUpload(factory);
        //得到fileItem
        List<FileItem> items = upload.parseRequest(request);
        //遍历FileItem
        Iterator<FileItem> it = items.iterator();
        while (it.hasNext()) {
            FileItem tempitem = it.next();
            String itemName = tempitem.getName();
            //判断是否为非file类型的form内容
            if (!tempitem.isFormField()) {
                @SuppressWarnings("deprecation")
                File tempfile= new File(request.getRealPath("/")+new File(tempitem.getName()).getName());
                System.out.println(request.getRealPath("/")+new File(tempitem.getName()).getName());
                try {
                //保存文件到相对应的路径下
                    tempitem.write(tempfile);
                } catch (Exception e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
        }
    }

在前端的form内容:

<form action="${pageContext.request.contextPath}/upload.action" method="post" enctype="multipart/form-data">
            <div>
                <input type="file" name="file1" id="file1">
            </div>
            <div>
                <input type="file" name="file2" id="file2">
            </div>
            <div>
                <input type="submit" name="submit" id="submit" value="提交">
            </div>
        </form>

在上面最重要的内容是form表单里面的enctype属性设置。
通过以上的内容可以完成文件的上传,以后有其他方法,会继续完善。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值