Servlet doPost方法同时上传图片和传递参数
Posted 星辰
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Servlet doPost方法同时上传图片和传递参数相关的知识,希望对你有一定的参考价值。
上传图片和传递参数
上传图片和文件属于enctype="multipart/form-data"
默认情况,传递参数编码格式是application/x-www-form-urlencoded,不能用于文件上传;只有使用了multipart/form- data,才能完整的传递文件数据,
同时上传文件与图片
DiskFileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload upload = new ServletFileUpload(factory); List items = null; try { items = upload.parseRequest(request); } catch (FileUploadException e) { e.printStackTrace(); } // 解析request请求 Iterator iter = items.iterator(); while (iter.hasNext()) { FileItem item = (FileItem) iter.next(); if (item.isFormField()) { // 如果是表单域 ,就是非文件上传元素 String name = item.getFieldName(); // 获取name属性的值 String value = item.getString(); // 获取value属性的值 if (item.getFieldName().equals("intro")) { System.out.println(value+"yeah"); } } else { String fieldName = item.getFieldName(); // 文件域中name属性的值 String fileName = item.getName(); // 文件的全路径,绝对路径名加文件名 String contentType = item.getContentType(); // 文件的类型 long size = item.getSize(); // 文件的大小,以字节为单位 File saveFile = new File("D:/test.jpg"); // 定义一个file指向一个具体的文件 try { item.write(saveFile);// 把上传的内容写到一个文件中 } catch (Exception e) { e.printStackTrace(); } }}
要解析二进制流来得到文本参数
以上是关于Servlet doPost方法同时上传图片和传递参数的主要内容,如果未能解决你的问题,请参考以下文章
在servlet中doGet()和doPost()方法是完成啥操作,它们有那些参数?这些参数对应啥?
servlet中为啥doget要调用dopost?默认调用哪个?默认都调用?