使用commons-fileupload实现文件(doc、pdf)上传,提取表单参数并解决中文乱码
来源:互联网 发布:mac如何强制关机 编辑:程序博客网 时间:2024/06/05 15:41
文件上传利用commons-fileupload实现,笔者的SDK中包含这个包,没有这个包的童鞋,可以google之。
<form name="add_document" action="../Servlet/DocServlet?opType=add" method="post" enctype="multipart/form-data">
向Servlet发送上传文件的请求,因为将enctype设置成"multipart/form-data",所以后台使用request.getParameter(para)无法提取参数的值。
只能通过FileItem类型获取表单中的元素,包括文件内容:
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
List<FileItem> items = upload.parseRequest(request);
Iterator<FileItem > iter = items.iterator();
通过对iter的遍历提取参数:
FileItem fileItem = null;
while (iter.hasNext()) {
fileItem = iter.next();
if (fileItem.isFormField()) {
if(fileItem.getFieldName().equals("docuser")) {
username = fileItem.getString("gbk");
} else if (fileItem.getFieldName().equals("doctype")) {
docType = fileItem.getString("gbk");
} else if (fileItem.getFieldName().equals("docdepartment")) {
department = fileItem.getString("gbk");
}
}else {
fileName = fileItem.getName();
if (fileName != null) {
in = fileItem.getInputStream();
}
}
} //while
上述代码中的:
isFormField()函数用来判断遍历到的元素是否是表单中的元素;
getFieldName()函数用来提取参数的名称;
getString()用来提取参数的值;
getInputStream()用来提取文件字节流。
当传递的参数为中文时,这就涉及到字符编码的问题了。本人网站采用的gbk进行编码,所以当使用getString()函数提取参数的值时,使用“gbk”作为参数,这样就解决了乱码的问题。
- 使用commons-fileupload实现文件(doc、pdf)上传,提取表单参数并解决中文乱码
- 使用commons-fileupload实现表单提交上传,并取出参数,解决了乱码
- java web 利用 commons-fileupload-1.2 实现文件上传 解决 中文乱码& 非文件属性的读取
- 使用Springmvc和commons-fileupload-1.2.2.jar实现上传文件时,中文文件名乱码
- 使用commons-fileupload实现文件上传
- 使用commons-fileupload实现文件上传
- 使用Commons-fileupload组件实现文件上传
- 使用Commons-fileupload组件实现文件上传
- JSP使用commons-fileupload实现文件上传
- Jsp 使用commons-fileupload实现文件上传
- 使用commons-fileupload组件实现文件上传
- 使用commons-fileupload实现文件的上传
- 使用Apache commons-fileupload实现文件上传
- Servlet使用commons-fileupload实现文件上传
- commons-fileUpload组件解决文件上传乱码问题
- commons-fileupload.jar上传文件时的乱码解决
- commons-fileUpload组件解决文件上传乱码问题
- apache-commons-fileupload 提交表单中文乱码
- 【ZT】Jsp/Servlet:实现文件上传与下载【三】
- java目录文件说明
- 【ZT】Struts 2中实现文件下载(修正中文问题)
- 【ZT】jsp文件下载,解决中文名称乱码
- 【ZT】使用JQuery的each
- 使用commons-fileupload实现文件(doc、pdf)上传,提取表单参数并解决中文乱码
- Packet for query is too large (1825258 > 1048576)
- 【ZT】DOS查找特定字符,并输出到EXCEL方法
- 【ZT】如何解决JSP页面、JDBC显示乱码问题
- 【ZT】向服务器请求数据的五种技术
- word向程序——发送命令时出现问题
- 罗马字母读音
- 解决Office2007与Office1010不能并存安装问题
- JavaScript判断浏览器类型及版本