JspSmartUpload出现的问题,答的好加分

warmyellow 2009-07-16 06:59:23
上传文件时候,一点击上传,console下就显示该异常,但页面上不显示该异常:
java.lang.NullPointerException: charsetName
at java.lang.String.<init>(String.java:442)
at com.jspsmart.upload.SmartUpload.upload(SmartUpload.java:234)
at org.apache.jsp.new_jsp._jspService(new_jsp.java:70)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)

显示页面:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<html>
<head>
</head>

<body>
<form action="new.jsp" name="upload" method="post" enctype="multipart/form-data"
>
<table><tr><td>
<input type="file" name="file"></input><input type="submit" name="tijiao"/>
</td></tr></table>
</form>
</body>
</html>


new.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ page import="com.jspsmart.upload.*" %>
<html>
<head>
</head>

<body>
<%
SmartUpload myupload=new SmartUpload();
myupload.initialize(pageContext);
myupload.setMaxFileSize(1024*1024);
myupload.setTotalMaxFileSize(3*1024*1024);
myupload.setAllowedFilesList("gif,jpg,png");
myupload.setDeniedFilesList("exe,bat,jsp,htm,html");
try{
myupload.upload();
int count=0;
count=myupload.getFiles().getCount();
out.println("上传了"+count+"个文件!");
Request myRequest=myupload.getRequest();
System.out.println(count);
File file=myupload.getFiles().getFile(count-1);
String fileName=file.getFieldName();
String filePathFile=file.getFilePathName();
String fileExtName=file.getFileExt();
Thread.sleep(100);
String rndFileName="temp."+fileExtName;
file.saveAs("/upload/"+rndFileName,myupload.SAVE_VIRTUAL);
out.println("LZGOODMAN!");
if(!file.isMissing()){
}
}catch(Exception e){
e.printStackTrace();
out.println("alert('上传文件的格式有误')");
}
%>
</body>
</html>

答得好加分哈

...全文
124 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
admin 2009-07-31
  • 打赏
  • 举报
回复
怎么没有分呢?????
warmyellow 2009-07-16
  • 打赏
  • 举报
回复
算了 ,自己解决了 不过照样给分 上面的答案太雷人了
ouyangyh 2009-07-16
  • 打赏
  • 举报
回复
smartUpload.setDeniedFilesList("exe,bat,jsp,html,htm,,");
试试这个
warmyellow 2009-07-16
  • 打赏
  • 举报
回复
对于楼上的回答我相当无语
ouyangyh 2009-07-16
  • 打赏
  • 举报
回复
打开 new_jsp.java,看看第70行出现了什么问题就可以了
要不你把new_jsp.java 发上来看下
warmyellow 2009-07-16
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 sunnylyy 的回复:]
手工指定charSetName吧: myupload.upload("UTF-8");
[/Quote]
好像upload函数没有参数
sunnylyy 2009-07-16
  • 打赏
  • 举报
回复
手工指定charSetName吧: myupload.upload("UTF-8");
admin 2009-07-16
  • 打赏
  • 举报
回复
1.问题点:
1) java.lang.NullPointerException: charsetName
以上说明,你的程序里有null值现象,要重新查找一下所有变量,并看有没空值现象 .
2) at java.lang.String. <init>(String.java:442)
这个说明你在442行时,应该是String类型的变量,被你定义为init型,需要转换才可以
使用.

81,090

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧