解决COS、FileUpload上传文件时中文文件名乱码问题
方法:
MultipartParser mp = new MultipartParser(request, 10*1024*1024);
mp.setEncoding("GBK"); //加上这行代码即可
示例:
upload.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>enctype属性测试</title>
</head> <body>
<form id="form1" name="form1" enctype="multipart/form-data" method="post" action="cosUpload.jsp">
上传文件: <input type="file" name="file" /><br>
请求参数 <input type="text" name="wawa" /><br>
<input name="dd" type="submit" value="提交" />
</form>
</body>
</html>
cosUpload.jsp
<%@ page contentType="text/html;charset=GBK" import="java.io.*,java.util.*"%>
<%@ page import="com.oreilly.servlet.multipart.*,com.oreilly.servlet.*"%>
<% //设置POST请求的内容最大字节为10M,该类用于解析HTTP请求
MultipartParser mp = new MultipartParser(request, 10*1024*1024);
mp.setEncoding("GBK");
//所有表单域都是Part实例
Part part;
//遍历请求中的所有表单域
while ((part = mp.readNextPart()) != null)
{
//取得表单域的name属性值
String name = part.getName();
//对于普通表单域
if (part.isParam())
{
//取得普通表单域的值
ParamPart paramPart = (ParamPart) part;
String value = paramPart.getStringValue("GBK");
out.print("普通表单域部分:<br> name=" + name + "; value=" + value + "<br>");
}
//对于文件域
else if (part.isFile())
{
//取得文件上传域
FilePart filePart = (FilePart) part;
String fileName = filePart.getFileName();
if (fileName != null)
{
//输出文件内容
long size = filePart.writeTo(new File(request.getRealPath("/")));
out.println("上传文件:<br> 文件域的名=" + name + "; 文件名=" + fileName + "<br>" +
"上传文件的路径=" + filePart.getFilePath() + "<br>" +
"文件内容类型=" + filePart.getContentType() + "<br>" +
"文件大小=" + size + "<br>");
}
//文件名为空
else
{
//该文件域没有输入文件名
out.println("file: name=" + name + "; EMPTY");
}
out.flush();
}
}
%>
FileUpload
对于FileUpload组件,用upload.setHeaderEncoding()来解决文件名的乱码问题
解决COS、FileUpload上传文件时中文文件名乱码问题的更多相关文章
- 使用FCKeditor编辑器上传文件时中文文件名乱码
修改:editor\filemanager\browser\default\frmupload.html 文件的编码改为UTF-8 实在不行:fckeditor/editor/filemanager/ ...
- spring clound gateway 上传文件,中文文件名乱码解决办法
先说解决办法吧: 有三种解决办法 1 ,zuul官方给出了解决方案,使用/zuul开头的请求可以避免中文名乱码以及支持大文件上传 域名是 testgateway.com 接口是 api/image ...
- 解决asp.net上传文件时文件太大导致的错误
即使在web.config中添加了节点和设置依然是不行的,还是报文件太大的错误, <httpModules> <add name="UploadHttpModu ...
- fileupload上传文件时带参数
var userID = ""; $('#picture').fileupload({ url: "http://localhost:35708/Handler/File ...
- struts使用html:file上传文件的时候文件名乱码解决
<body> <html:form action="/jwid/struts1x/15.3/form/upload.do?action=upload" encty ...
- FileUpload上传文件无法获取文件名
原因:将FileUpload控件放到了UpdatePannel控件中了 解决办法:将FileUpload控件位置移动到UpdatePannel控件外面
- 上传文件时$_FILES为空的解决方法
上传视频的时候打印$_FILES为空,小的文件就没问题,后来发现是因为传的文件太大, 出现这个问题的原因主要有两个:表单原因或者php设置原因: 1,表单类型: 上传文件的表单编码类型必须设置成 en ...
- ASP.NET页面上传文件时提示文件大小超过请求解决方法
在webconfig中节点 <system.web> </system.web> 下加入以下代码:maxRequestLength为限制上传文件大小,executionTime ...
- FTP主动模式上传文件时返回"ftp: accept: Resource temporarily unavailable"
FTP主动模式上传文件时返回 Passive mode off ftp: accept: Resource temporarily unavailable 这个问题要从ftp的2种模式说起 PORT ...
随机推荐
- 第三次作业,github的基本操作
chengjiangtao@pc MINGW32 ~$ git config --global user.name "chengjiangtao" chengjiangtao@pc ...
- 解释型语言和编译型语言如何交互?以lua和c为例
转自http://my.oschina.net/mayqlzu/blog/113528 问题: 最近lua很火,因为<愤怒的小鸟>使用了lua,ios上有lua解释器?它是怎么嵌入大ios ...
- android开发 drawtext的开始坐标位置
我们canvas绘制文字的遇到一个不知道drawtext(str,x,y,paint) 中的x.y坐标值怎么定义,,如果设为(0,0)的话文字就不会出来了.因此查找到一下资料: 问:canvas.d ...
- 【WildCard Matching】cpp
题目: Implement wildcard pattern matching with support for '?' and '*'. '?' Matches any single charact ...
- How to Build FFmpeg for Android
http://www.roman10.net/how-to-build-ffmpeg-for-android/ ffmpeg is an open-source platform for record ...
- C++ 排序函数 sort(),qsort()的含义与用法 ,字符串string 的逆序排序等
上学时我们很多学了很多种排序算法,不过在c++stl中也封装了sort等函数,头文件是#include <algorithm> 函数名 功能描述 sort 对给定区间所有元素进行排序 st ...
- 线段树--Color the ball(多次染色问题)
K - Color the ball Time Limit:3000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u ...
- git删除远程分支和本地分支
问题描述: 当我们集体进行项目时,将自定义分支push到主分支master之后,如何删除远程的自定义分支呢 问题解决: (1)使用命令git branch -a 查看所有分支 ...
- 【BZOJ】【3205】【APIO2013】机器人robot
斯坦纳树 好神啊……Orz zyf && PoPoQQQ 为啥跟斯坦纳树扯上关系了?我想是因为每个点(robot)都沿着树边汇到根的时候就全部合起来了吧= =这个好像和裸的斯坦纳树不太 ...
- 剑指offer--面试题22
关键在于思路, 需要两个输入向量,而函数中需要一个辅助栈! 思路:以待判出栈序列为基础,逐个判断它与栈顶元素是否相等,相等则弹出且j++,这表明此元素可为出栈顺序元素,不相等则栈元素不断入栈,直至相 ...