服务器处理文件上传

来源:互联网 发布:淘宝网哪里投诉 编辑:程序博客网 时间:2024/06/04 18:00

距离上一次写有关图片上传的内容已经过了挺久的了,上一次还是在做毕业设计期间,现在已经是完全离开校园的时候了,最近一个月在公司可以说有一点点时间去学习有关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属性设置。
通过以上的内容可以完成文件的上传,以后有其他方法,会继续完善。

原创粉丝点击