方法一:(之前在页面直接跳转上传时能够解决问题,异步提交上传图片就不能正常了)大学生兼职分析调查
1.解决中文乱码:
【1】:首先上传页面和接收页面都必须制定编码格式为GBK;
<%@pagelanguage="java"import="java.util.*"pageEncoding="GBK"%>
【2】:在上传页面要response.setCharacterEncoding("GBK");
【3】:在接收页面要request.setCharacterEncoding("GBK");
【4】:注意上传时表单要指定编码为:enctype="multipart/form-data"
【5】:注意上传时表单要指定方法为:method="post"
方法二:(异步提交表单能正常解决)
【1】上传页面:(对参数做一次encodeURI)js
//对表单中的中文区域值得获取并进行转码
varname= parent.window.$("#tabs_name").val();
vardirection= parent.window.$("#tabs_direction").val();
parent.window.$("#tabs_name").val(encodeURI(name));
parent.window.$("#tabs_direction").val(encodeURI(direction));
parent.window.$('#subject_modify').submit(); //提交表单
【2】接收参数页面(对参数做一次URLDecoder)
Stringname=smart.getRequest().getParameter("name");
name=URLDecoder.decode(name,"utf-8");
smartupload使用方法

如果想让Tomcat服务器的所有Web应用程序都能用它,必须做如下工作:
1.进入命令行状态,将目录切换到Tomcat的webapps/jspsmartupload/WEB-INF目录下。
2.运行JAR打包命令:jarcvfjspSmartUpload.jarcom,也可以打开资源管理器,切换到当前目录,用WinZip将com目录下的所有文件压缩成jspSmartUpload.zip,然后将jspSmartUpload.zip换名为jspSmartUpload.jar文件即可。
3.将jspSmartUpload.jar拷贝到Tomcat的shared/lib目录下。
上传相关代码
uploadFile.jsp
<%@pagecontentType="text/html;charset=GB2312"%>
<formmethod="post"action="doUpload.jsp"enctype="multipart/form-data">
<tablewidth="315"border="0">
<tr>
<tdwidth="309"align="center"><inputtype="file"name="file1"size="30"></td>
</tr>
<tr>
<tdalign="center"><inputtype="file"name="file2"size="30"></td>
<tr>
<tdalign="center"><inputtype="submit"name="Submit"value="上传"></td>
</tr>
</table>
</form>
doUpload.jsp
<%@pagecontentType="text/html;charset=gbk"
import="java.util.*,com.jspsmart.upload.*"%>
<html>
<head>
<title>文件上传处理页面</title>
<metahttp-equiv="Content-Type"content="text/html;charset=gbk">
</head>
<body>
<%
//新建一个SmartUpload对象
SmartUploadsu=newSmartUpload();
//上传初始化
su.initialize(pageContext);
//设定上传限制
//1.限制每个上传文件的最大长度。
//su.setMaxFileSize(10000);
//2.限制总上传数据的长度。
//su.setTotalMaxFileSize(20000);
//3.设定允许上传的文件(通过扩展名限制),仅允许doc,txt文件。
//su.setAllowedFilesList("doc,txt");
//4.设定禁止上传的文件(通过扩展名限制),禁止上传带有exe,bat,jsp,htm,html扩展名的文件和没有
//扩展名的文件。
//su.setDeniedFilesList("exe,bat,jsp,htm,html,,");
//上传文件
su.upload();
//将上传文件全部保存到指定目录,需要先在在Web应用的根目录下,创建一个upload目录
intcount=su.save("/upload");
out.println(count+"个文件上传成功!<br>");
//利用Request对象获取参数之值
out.println("TEST="+su.getRequest().getParameter("TEST")
+"<BR><BR>");
//逐一提取上传文件信息,同时可保存文件。
for(inti=0;i<su.getFiles().getCount();i++)
{
com.jspsmart.upload.Filefile=su.getFiles().getFile(i);
//若文件不存在则继续
if(file.isMissing())continue;
//显示当前文件信息
out.println("<TABLEBORDER=1>");
out.println("<TR><TD>表单项名(FieldName)</TD><TD>"
+file.getFieldName()+"</TD></TR>");
out.println("<TR><TD>文件长度(Size)</TD><TD>"+
file.getSize()+"</TD></TR>");
out.println("<TR><TD>文件名(FileName)</TD><TD>"
+file.getFileName()+"</TD></TR>");
out.println("<TR><TD>文件扩展名(FileExt)</TD><TD>"
+file.getFileExt()+"</TD></TR>");
out.println("<TR><TD>文件全名(FilePathName)</TD><TD>"
+file.getFilePathName()+"</TD></TR>");
out.println("</TABLE><BR>");
//将文件另存
//file.saveAs("/upload/"+myFile.getFileName());
//另存到以WEB应用程序的根目录为文件根目录的目录下
//file.saveAs("/upload/"+myFile.getFileName(),su.SAVE_VIRTUAL);
//另存到操作系统的根目录为文件根目录的目录下
//file.saveAs("c:\temp\"+myFile.getFileName(),su.SAVE_PHYSICAL);
}
%>
</body>
</html>
下载相关代码
download.jsp
<%@pagecontentType="text/html;charset=gb2312"%>
<html>
<head>
<title>下载</title>
</head>
<body>
<ahref="do_download.jsp">点击下载</a>
</body>
</html>
do_download.jsp
<%@pagecontentType="text/html;charset=gb2312"
import="com.jspsmart.upload.*"%>
<%
//新建一个SmartUpload对象
SmartUploadsu=newSmartUpload();
//初始化
su.initialize(pageContext);
//设定contentDisposition为null以禁止浏览器自动打开文件,
//保证点击链接后是下载文件。若不设定,则下载的文件扩展名为doc时,浏览器将自动用word打开它。
//扩展名为pdf时,浏览器将用acrobat打开。
su.setContentDisposition(null);
//下载文件,保证Web应用下的upload目录下有测试文档.doc文件。
su.downloadFile("/upload/测试文档.doc");
%>
注意:jspSmartUpload编写下载文件代码时,若下载的文件名中有汉字,则浏览器在提示另存的文件名时,显示的是一堆乱码。为了给jspSmartUpload组件增加下载中文文件的支持,对返回给浏览器的另存文件名进行UTF-8编码后,浏览器便能正确显示中文名字了。在SmartUpload.java文件中,增加的方法如下:
publicstaticStringtoUtfString(Strings){
StringBuffersb=newStringBuffer();
for(inti=0;i<s.length();i++){
charc=s.charAt(i);
if(c>=0&&c<=255){
sb.append(c);
}else
{
byte[]b;
try{
b=Character.toString(c).getBytes("utf-8");
}catch(Exceptionex){
System.out.println(ex);
b=newbyte[0];
}
for(intj=0;j<b.length;j++){
intk=b[j];
if(k<0)k+=256;
sb.append("%"+Integer.toHexString(k).toUpperCase());
}
}
}
returnsb.toString();
}
将文件名转换为UTF-8形式的编码形式。UTF-8编码对英文未作任何处理,对中文则需要转换为%XX的形式。toUtf8String方法中,直接利用Java语言提供的编码转换方法获得汉字字符的UTF-8编码,之后将其转换为%XX的形式。
修改getFileName()方法如下,使其调用toUftString()方法
privateStringgetFileName(Strings){
inti=0;
Strings1=toUtfString(s);
i=s1.lastIndexOf('/');
if(i!=-1){
returns1.substring(i+1,s1.length());
}
i=s1.lastIndexOf('\');
if(i!=-1){
returns1.substring(i+1,s1.length());
}else{
returns1;
}
}
1、使用简单。在JSP文件中仅仅书写三五行java代码就可以搞定文件的上传或下载,方便。
2、能全程控制上传。利用jspSmartUpload组件提供的对象及其操作方法,可以获得全部上传文件的信息(包括文件名,大小,类型,扩展名,文件数据等),方便存取。
3、能对上传的文件在大小、类型等方面做出限制。如此可以滤掉不符合要求的文件。
4、下载灵活。仅写两行代码,就能把Web服务器变成文件服务器。不管文件在Web服务器的目录下或在其它任何目录下,都可以利用jspSmartUpload进行下载。
jspsmartupload.jar是一款针对jsp开发的上传下载组件,现在已经完美支持中文名字文件的上传下载工作。该插件使用很简单,能全程控制上传,还能对文件大小、类型等等方面做出限制,轻松过滤掉不符合要求的文件。需要的朋友下载试试吧!
展开内容
9.2/1,799.4M
全世界历史奇幻小说在这里都可以看到,这个软件是原创正版的小说阅读,主要的面对对象是相对而言高龄一些、对历史感兴趣的读者们,如果你是作者的话也可以在这里进行投稿的...
8.8/1,790.1M
郴州市公共资源交易中心的手机客户端软件,可以查看到最新的政府采购信息,整合了交易信息审核、项目公示公告查看、场地预约管理、今天标讯等便捷功能。郴交易安卓版介绍“...
9.0/1,629.4M
2017护士节马上就要到了,有许多朋友需要做关于护士节的ppt,小编带来了护士节ppt背景图片模版,可以帮助你设计精美的护士节ppt,欢迎来下载使用!护士节pp...
8.6/1,253.4M
多米sale是一个专业的二手商品回收平台,这里可以回收各种二手贵重商品,用户可以随时发布预约回收信息,上门取货!平台介绍多米sale二手电商平台成立于2019年...
8.6/1,319.2M
这是一个优惠的手机购物软件,这里提供各种各样的电商平台优惠券,人人都可以使用,多个产品选择,帮助你快速选择优惠产品,功能强大!软件介绍轻券app是一款购物领券平...
9.7/1,497.2M
这是一款好玩的街机战斗游戏,DueLito手游中玩家能可以选择角色进行战斗,每一个角色都有自己的技能,清新舒适的画面,丰富的游戏玩法,让你在游戏挑战更强的对手!...
8.1/698.4M
Deepnet浏览器是一款非常具有特色的浏览器软件,通过Deepnet软件你可以轻松访问各种网站,拥有许多小工具,让你更好的进行网上冲浪!Deepnet浏览器介...
8.3/1,084.4M
爱美的朋友小编今天给你的手机上推荐一款功能强大的生活助手软件,汇聚了各种各样的美容知识,让你转身就是一个美容专家的人物,不信就来试试!真优美变美神器介绍真优美变...
9.1/470.9M
这个软件的正版国际版本叫做使命闹钟Alarmy,其实国内的版本内容是一样的,只是厂商是国内厂商而已,这个闹钟和一般的闹钟不一样,一般的闹钟就是最多震动+响铃,如...
9.0/1,278.0M
海盗宝藏的冒险手游是一款卡通风格的冒险解谜游戏,玩家要控制住船,作为船长需要对抗其它的海盗船,通过藏宝图找寻宝藏,你可以装备自己,让自己变得更强大,找到宝藏,安...
8.8/1,631.7M
日用保健品平台是一款十分不错的软件,在日用保健品平台上面你可以随时的查看最新的购物信息,非常的方便,更多的商品物美价廉,感兴趣的朋友可以看看哦!日用保健品平台手...
9.2/1,903.1M
Mogu这是一款购物类手机软件,专为爱时尚爱潮流的朋友而准备的,通过这里你可以方便的了解全球时尚潮流资讯,这款软件特别对于女性来说,是个很不错的选择。Mogua...
9.3/417.8M
懒鱼app是由成都领创有你科技有限公司研发的一款为消费者提供了线上线下衣、食、住、行,娱乐等生活服务,价格非常划算喜欢的同学快来下载体验吧!懒鱼app功能介绍应...
7.8/837.3M
美图贴图是一款手机图片美化工具,没有PS那么复杂,不要繁琐的技巧,轻松一键解决,你也可以成为P图大神,完成图片的美化。美图贴图点评美图贴图是一款手机贴图美化软件...
9.1/540.0M
拥有扫码上机、视频推荐、创作发布等诸多功能服务,通过趣网咖app就可以直接的扫码上网,不仅可以上网,里面还推荐了很多好看精彩的视频,刷起来停不下来。趣网咖是什么...
查看
9.1/29.0M
糖医帮app是一个为糖尿病患者开发的手机软件,用户可以通过软件学习糖尿病相关的知识,丰富的课程,帮助你更好的了解自己的健康问题!软件介绍糖医帮,是由中华医学会糖...
9.7/1,115.8M
文小帮app最新版是一款不错的手机文件管理助手,可以很好管理办公文档的软件,分类详细简单。各种文件内容分类详细,查找方便。还可以对一些重要的文件数据进行加密,确...
9.9/1,463.5M
轻松心理学官方苹果版是一款非常实用的心理学学习软件,这上面有很多心理学方面的知识讲解,还可以和资深心理学专家聊天咨询,让你的心理学知识更加丰富!喜欢就下载吧心理...
10.0/556.5M
东方北斗app是一个智慧物流、交通、车辆导航等服务的手机软件,帮助汽车车主提供各种服务,让车主能够更好的用车,还可以查询周边生活服务!东方北斗app介绍东方北斗...
9.8/1,593.3M
云南好风光,杂志风云南旅行画册快闪宣传片ppt是一份非常动感的旅行宣传ppt模板,有很多云南特色的景点照片,感受一份别样的愉悦。杂志风云南旅行画册快闪宣传片pp...
8.8/1,170.5M
健身房还是监狱是一筐有着独特风格的手游,当你意识到要做形体管理的时候,前往健身房,发现自己的身体反倒越来越胖,体验起来很诡异,感兴趣的小伙伴快来东坡下载吧!健身...
9.7/390.5M
真红之刃是一款魔幻角色类题材游戏,游戏以西方魔幻为原型打造酷炫的造型以及各种团战亮点,全服的战斗,加入派系,线上与众多玩家展开厮杀,为了荣誉而战!真红之刃简介《...
8.7/1,508.3M
WinEIM(助讯通)是一款即时通讯软件(英文名称:WinEIM),更是一套为企业量身定制的安全即时通讯平台,采用是C/S模式!其主旨是让处在企事业单位或公司网...
8.4/1,775.3M
漂移的赛车游戏总能给人超刺激的感觉,今天小编带来的宝马车漂移(DriftBMWCar)是一款非常逼真的赛车漂移游戏,画面做的非常精细,玩家能在游戏中体验到刺激又...