日期:2014-05-18  浏览次数:20602 次

用smartupload文件上传的问题
虽然对java还比较了解,初学jsp,有几个很肤浅的问题请教,莫见笑。下面这段代码是我照猫画虎开始写的,
1、su.initialize(pageContent);这句话中pageContent的数值从哪里来呢,netbeans提示这句话有错误,但是我看到其他人的代码中有这一行且没有看到pagecontent的定义;
2、这段代码中的System.out.println的这些语句的输出值到哪里去了,去了tomcat的日志吗还是在页面中显示。

我还是没有完全理解jsp和html之间关系,习惯于命令行式的交互方式,嘿嘿。

<%@page language="java" contentType="text/html" pageEncoding="UTF-8" 
import="com.jspsmart.upload.*,java.util.*"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  "http://www.w3.org/TR/html4/loose.dtd">

<html>
  <head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <title>文件上传处理页面</title>
  </head>
  <body>
  <%
  SmartUpload su=new SmartUpload();
  su.initialize(pageContent);
   
  su.setMaxFileSize(100*1024*1024);//设置文件最大上传大小
  su.setTotalMaxFileSize(100*1024*1024);
   
  su.setAllowedFilesList("xls");
  su.setDeniedFilesList("exe,bat,jsp,htm,html,java,h");
   
  su.upload();
   
  int count=su.save("/upload");
  System.out.println("您一共上传了"+count+"个文件");
   
  //将文件改名
  for(int i=0;i<su.getFiles().getCount();++i)
  {
  File tempFile=su.getFiles().getFile(i);
  System.out.println("this file name is "+tempFile.getFileName());
  }
  %>
  </body>
</html>

------解决方案--------------------
1、su.initialize(pageContent);这句话中pageContent的数值从哪里来呢
pageContent是JSP的一个内置对象,就是这个javax.servlet.jsp.PageContext
从上下文中获得。
这个上传主要是针对<input type="file" name="upload">这个组件的,你想用上传jspSmartUpload这个
组件的话就得在HTML里使用<input type="file" name="upload">
2.这段代码中的System.out.println的这些语句的输出值到哪里去了
 
输出值可以在后台看到,不会在页面显示。,netbeans没用过。比如说用eclipse的话在控制台中就能看到
当然,要代码没问题的话,呵呵
------解决方案--------------------
看不到你的代码,先确定个问题:
首先,你的<input type="file" name="upload">一定要在一个表单中,
其次,使用jspSmartUpload组件的话,包含<input type="file" name="upload">的那个表单使用
的方法一定要是post,而且一定要有enctype="multipart/form-data",象下面这样,才能使用这个组件哈
<form name="Upload" method="post" enctype="multipart/form-data">
------解决方案--------------------
兄弟,你这个简短的HTML里面就问题多多.....
首先,你要把此HTML里的内容提交到你那个jsp中去,所以form的action就应该是那个jsp页哈,你这里action="uploadFile"
肯定是不对的,要改过来.
其次,<input type="button" name="upButton" id="button" onclick="check" value="上传"> 
这里面onclick="check"是什么意思啊?.....
如果你想要用JS来提交表单的话建议就这样写
先把把onclick="check"改成onclick="check()"
然后js这样写
<script language="javascript">
function check(){
document.uploadFile.submit();
}
</script>
或者你干脆别用什么button,用个submit直接把表单提交不就成了......
看完LZ的代码觉得楼主还是应该先看下HTML基础知识然后再学JSP就快很多,呵呵