jspsmartupload上传图片时,文件名为中文解决了,但是还是上传不了图片,也没有抛异常,就是文件名为中文

上传图片时,中文文件名上传之后不能正常显示图片,但是乱码问题已经解决了,哪位高手帮帮忙

第1个回答  2011-11-23
jspSmartUpload 是由www.jspsmart.com 网站开发的一个可免费使用的全功能的文件上传下载组件,适于嵌入执行上传下载操作的JSP 文件中。jspSmartUpload的默认编码方式是GBK,因此只有使用GBK编码时中文能正常显示,有可能是你的jspSmartUpload源程序有问题,我这里有个例子,当时测试通过了,你可以参考一下:
<%@ page language="java" import="java.util.*" contentType="text/html;charset=gbk" pageEncoding="gbk"%>
<%@ page import="com.jspsmart.upload.*" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP</title>
</head>
<body>
<center>
正在上传……
<%
try
{
request.setCharacterEncoding("GBK");
SmartUpload su=new SmartUpload();
su.initialize(pageContext);
su.service(request,response);
su.upload();
int count=su.save("/upload");
out.println(count+"个文件上传成功<br>");
for(int i=0;i<su.getFiles().getCount();i++)
{
com.jspsmart.upload.File file=su.getFiles().getFile(i);
if(file.isMissing())
continue;
out.println("<TABLE BORDER=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>");
}
}
catch(Exception e)
{
e.printStackTrace();
}

%>
<a href="fileupload.jsp">重新上传</a>
</center>

</body>
</html>

上传的页面
<%@ page language="java" import="java.util.*" contentType="text/html;charset=gbk" pageEncoding="gbk"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>
文件上传实例</title>
</head>
<body>
<p align="center">上传文件选择</p>
<FORM METHOD="POST" ACTION="upload.jsp"
ENCTYPE="multipart/form-data">
<input type="hidden" name="TEST" value="good">
<table width="75%" border="1" align="center">
<tr>
<td><div align="center">1、
<input type="FILE" name="FILE1" size="30">
</div></td>
</tr>
<tr>
<td><div align="center">2、
<input type="FILE" name="FILE2" size="30">
</div></td>
</tr>
<tr>
<td><div align="center">3、
<input type="FILE" name="FILE3" size="30">
</div></td>
</tr>
<tr>
<td><div align="center">4、
<input type="FILE" name="FILE4" size="30">
</div></td>
</tr>
<tr>
<td><div align="center">
<input type="submit" name="Submit" value="上传它!">
</div></td>
</tr>
</table>
</FORM>

</body>
</html>

用jspsmartupload上传文件部分中文乱码问题
一般乱码问题是格式不一致,上传的时候需要设置一个编码格式,在上传文件读取流的时候也要设置一个,在页面下也要显示成同一格式,还有在tomcat服务器下的config包下的 servel.xml中在端口下要配置一个编码。URIEncoding=utf-8 不知道是不是叫那个变量,不行的话上网搜下吧。

我在使用smartUpload组件上传文件下面是代码 打印“上传成功了,但是upl...
我用你的代码测试了,全上去了,图片显示正确,可能是,你没有在webroot下面建upload这个文件夹吧

JSP+JSPSmartUpload 文件上传后没有上传到指定目录下
至于上传失败,应该是由于目录不存在的原因。当你在工程中创建upload后,刷新工程可以直接在workspace\\.metadata\\.plugins\\org.eclipse.wst.server.core\\tmp1\\wtpwebapps\\ch1下生成相同的目录。2、上传的路径这样写不是直接放在WebContent\\upload下的吗?如果想把文件上传到WebContent\\upload下,可以把应用直...

用smartupload下载文件时,中文文件名是乱码的问题
如果希望函数返回ANSI字符串,那么系统首先将Unicode字符串转换成ANSI,然后将结果返回给用户的应用程序。所有这些操作都是在用户看不见的情况下发生的。WINNT.H文件负责提供对Unicode的支持。在WINNT.H中,分别为单字节和双字节编码定义了两套数据结构并在此基础上定义了一套统一的数据结构。如果明确需要编...

jsp用jspsmartupload上传禁止扩展名的文件类型如何解决抛出异常的问题...
亲,我用servlet做的,jsp也一样..你试试哈...String error="";String errorPath="error.jsp";try{ mySmartUpload.setDeniedFilesList("exe,bat,jsp,htm,html,,");}catch(Exception e){ error="亲,您不可以上传exe,bat,jsp,htm,html等文件...";request.setAttribute("errorMessage",error);...

在jsp上传图片时遇到出错:SmartUpload cannot be resolved to a typ...
上传图片的类型不允许吧!

利用jspsmartupload上传下载文件时的问题: The server encountered...
你好像没有在Myeclipse中引入jspsmartupload.jar包吧,或者是那个包缺少文件,你可以去官网重新下一个

总jspsmartupload组件上传的文件如何获取其文件名
String fileName=smartupload.getFiles().getFile(0).getFileName();这个有没有扩展名我记不太清了~~如果现在得到的有扩展名,你又不想要。可以:int i=fileName.lastIndexOf("."); \/\/这是得到扩展名前面的.下标值。String fileName=fileName.subString(0,i); \/\/截取从0~ . 之间的的字...

jsp如何将图片上传到服务器某个文件夹里面,而路径存到数据库中!!请教...
\/\/ 允许一次最多上载文件大小不超过 200000 bytes \/\/ mySmartUpload.setTotalMaxFileSize(200000);try { \/\/ 上传操作 mySmartUpload.upload();\/\/以原文件名存储在web服务器虚拟路径下 \/\/返回上传的文件数 count = mySmartUpload.save("\/Upload", mySmartUpload.SAVE_VIRTUAL);} catch (Exception e...

用Java Web的jsp制作图片上传和显示如何实现
\/\/ 实例化上传控件对象 SmartUpload su = new SmartUpload();\/\/ 初始化操作 su.initialize(config, request, response);\/\/ 设置上传文件最大字节数 su.setTotalMaxFileSize(100000);\/\/ try { \/\/禁止上传指定扩展名的文件 su.setDeniedFilesList("ext,bat,jsp");} catch (SQLException e1) { e...

相似回答