SmartUpload中class的问题

jiaoxiaogu 2009-04-02 04:57:23
各位兄弟姐妹,大家好!
我看了一个教程,魔乐在线,其中讲:
1.需要将一个jar包(smartload.jar)放入tomcat/lib中
2.在from表单提交的.jsp文件中,需要写这句话:
<jsp:useBean id="smart" scope="page" class="org.lxh.smart.SmartUpload"/>
记得在学JavaBean的时候,class文件的路径应该是编译了的java文件的路径,这里他没提.java文件,雀写了这个路径,不知道这个class文件的路径,我该怎么写。

不胜感激!
...全文
161 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
紫气从东来 2012-08-16
  • 打赏
  • 举报
回复
smart.save("/upload");
文件多了个/。
改成smart.save("upload");
kou998 2012-01-28
  • 打赏
  • 举报
回复
求同,我也是这样的。。。
jiaoxiaogu 2009-04-03
  • 打赏
  • 举报
回复
三楼的大哥,我用的是记事本~~~

我昨天试了试,页面没有出错,但是还是上传不起~~
我的方法是这样的:
1、把smartupload.jar 拷到 Tomcat 6.0\lib目录下
2、把smartupload.jar 解压后的\org\lxh\smart目录拷到WEB-INF\classes目录下
3、sample01.htm:

<form action="sample01.jsp" method="post" ENCTYPE="multipart/for-data">
选择要上传的图片:
<input type="file" name="pic">
<input type="submit" value="上传">
</form>

4、sample01.jsp:

<jsp:useBean id="smart" scope="page" class="org.lxh.smart.SmartUpload"/>
<%
//1、上传初始化
smart.initialize(pageContext);
//2、准备上传
smart.upload();
//3、保存上传文件
smart.save("/upload");
%>

5、在根目录下建立文件夹upload


运行以后发现,虽然页面没有错误,但是upload里没有图片~

这是为什么呢?
Study_Work_2009 2009-04-03
  • 打赏
  • 举报
回复
up
jiaoxiaogu 2009-04-03
  • 打赏
  • 举报
回复
各位高手,走过路过,帮忙看看撒~
myairland 2009-04-02
  • 打赏
  • 举报
回复
不用解压,在Eclipse上的包浏览模式可以直接看的
jiaoxiaogu 2009-04-02
  • 打赏
  • 举报
回复
楼上的大侠,是不是说把jar包解压在我的根目录就ok了?
我解压了,真的发现了有C:\Documents and Settings\JL\桌面\smartupload\org\lxh\smart这个路径了,谢谢哈~
yjw3160 2009-04-02
  • 打赏
  • 举报
回复
class文件在那个jar包里呢,你在那jar包里用压缩文件打开就能看到class文件<jsp:useBean id="smart"scope="page"class="org.lxh.smart.SmartUpload"/>
这个是把 SmartUpload实例化
相当与SmartUpload smart = new SmartUpload();
<form action="add_do.jsp" name="formlft" method="post" ENCTYPE="multipart/form-data" check(this)">
date: <input type="text" name="checkdate" size="12" readonly=true></td> type: Record:     
class=header1 >
No. ID Reason Remark Status op
1 <input type="text" name="id1" size="8"></TD> <textarea name="reason1" rows="3" cols="14" ></textarea> <textarea name="remark1" rows="3" cols="14" ></textarea> <textarea name="op1" rows="3" cols="10" ></textarea> <input type="file" name="file1" size="10" ></TD>
2 <input type="text" name="id2" size="8"></TD> <textarea name="reason2" rows="3" cols="14"></textarea> <textarea name="remark2" rows="3" cols="14"></textarea> <textarea name="op2" rows="3" cols="10"></textarea> <input type="file" name="file2" size="10" ></TD>
3 <input type="text" name="id3" size="8"></TD> <textarea name="reason3" rows="3" cols="14"></textarea> <textarea name="remark3" rows="3" cols="14"></textarea> <textarea name="op3" rows="3" cols="10"></textarea> <input type="file" name="file2" size="10" ></TD>
 
上传附件: <input type="file" class="bginput" name="attachment_array[]"></td> 
<input type="submit" name="Submit" value="提交"></td> <input type="reset" name="reset" value="重置"></td>
</form> <%@ page import="java.text.*"%> class="com.Jdbc_conn" scope="page" /> <%long today = System.currentTimeMillis(); java.util.Date todayime = new java.util.Date(today); SimpleDateFormat formatter = new SimpleDateFormat("yyMMddHHmmss"); String todaydate = formatter.format(todayime); //新建一个SmartUpload对象 SmartUpload su = new SmartUpload(); //上传初始化 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(); //将上传文件全部保存到指定目录 int count = su.save("/upload"); out.println(count+"个文件上传成功!
"); String attachsourcename=""; String newfilename=""; String save=""; for (int j=0;jsmart.upload.File file = su.getFiles().getFile(j); // 若文件不存在则继续 if (file.isMissing()) continue; //显示当前文件信息 //另存到操作系统的根目录为文件根目录的目录下 实际的路径 attachsourcename=file.getFileName(); double a=Math.random(); Double d=new Double(a); String s=d.toString(); newfilename=todaydate+s.substring(2,6)+"."+file.getFileExt(); save="D:\\\\Workspace\\\\PM\\\\WebApp\\\\upload\\\\" +newfilename; file.saveAs(save,su.SAVE_PHYSICAL); //out.println(""); //out.println(""); //out.println(""); //out.println(""); //out.println(""); //out.println(""); //out.println(""); //out.println(""); //out.println("
表单项名(FieldName)"+ file.getFieldName() + "
文件长度(Size)" + file.getSize() + "
文件名(FileName)" + file.getFileName() + "
文件扩展名(FileExt)" + file.getFileExt() + "
文件全名(FilePathName)"+ file.getFilePathName() + "
实际路径"+ getServletContext().getRealPath("/") + "
下载 " + file.getFileName() + "

"); //out.println(agvid); } Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); String url = "jdbc:oracle:thin:@10.20.32.87:1521:XMCSHIS"; String user = "michelle"; String password = "michelle"; Connection conn = DriverManager.getConnection(url, user, password); Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); try{ for(int i=1;i<=3;i++){ String checkdate=su.getRequest().getParameter("checkdate"); String csttype=su.getRequest().getParameter("csttype"); String cstid=su.getRequest().getParameter("" + "cstid"+i + ""); String reason=su.getRequest().getParameter("" + "reason"+i + ""); String remark=su.getRequest().getParameter("" + "remark"+i + ""); String status=su.getRequest().getParameter("" + "status"+i + ""); String op=su.getRequest().getParameter("" + "op"+i + ""); String reporter=su.getRequest().getParameter("reporter"); if(cstid.equals("")) {break;} String SQL="insert into michelle.Table1(checkdate ,type ,id,reason ,op ,remark ,attachsourcename ,newfilename ,reporter ,status )" +" values('"+checkdate+"','"+type+"',UPPER('"+id+"'),'"+reason+"','"+op+"','"+remark+"','"+attachsourcename+"','"+newfilename+"','"+reporter+"','"+status+"')"; //out.print(SQL); //out.println(11144); //stmt.executeUpdate(SQL); } out.println("保存记录成功!"); } catch(Exception ex){ out.println(" 保存记录失败!Error Info:
"+ex.getMessage()+"


返回上一页"); //out.println("sql.executeUpdate:"+ex.getMessage()); }
jspsmartupload.jar组件大家都知道,但是它本身自带的download功能并不支持文名称的文件,在下载的时候会出现乱码,我自己编写了一个FileDownload类,放到了这个jar包,这个类用的UTF-8编码方式,所以可以对文文件名进行很好的支持,下面是这个类的使用方法的一个介绍:

import com.jspsmart.upload.*
// 新建一个smartupload对象
SmartUpload su = new SmartUpload() ;
// 初始化
su.initialize(pageContext);
// 设定contentdisposition为null以禁止浏览器自动打开文件,
//保证点击链接后是下载文件。若不设定,则下载的文件扩展名为doc时,浏览器将自动用word打开它。扩展名为pdf时,浏览器将用acrobat打开。
// 下载文件
su.downloadFile("/upload/aa.doc");

下面是FileDownload的源码:

package com.jspsmart.upload ;

import java.io.BufferedInputStream ;
import java.io.File ;
import java.io.FileInputStream ;
import java.io.OutputStream ;
import java.net.URL ;
import javax.servlet.http.HttpServletResponse ;

public class FileDownload
{
public void downLoad( String filePath , HttpServletResponse response , boolean isOnLine ) throws Exception
{
File f = new File( filePath ) ;
if ( !f.exists() )
{
response.sendError( 404 , "File not found!" ) ;
return ;
}
BufferedInputStream br = new BufferedInputStream( new FileInputStream( f ) ) ;
byte[] buf = new byte[1024] ;
int len = 0 ;
response.reset() ; // 非常重要
// 在线打开方式
if ( isOnLine )
{
URL u = new URL( "file:///" + filePath ) ;
response.setContentType( u.openConnection().getContentType() ) ;
response.setHeader( "Content-Disposition" , "inline; filename=" + toUTF8(f.getName()) ) ;
// 文件名应该编码成UTF-8
}
// 纯下载方式
else
{
response.setContentType( "application/x-msdownload" ) ;
response.setHeader( "Content-Disposition" , "attachment; filename=" + toUTF8(f.getName()) ) ;
}
OutputStream out = response.getOutputStream() ;
while ( ( len = br.read( buf ) ) > 0 )
out.write( buf , 0 , len ) ;
br.close() ;
out.close() ;
}

public String toUTF8( String s )
{
StringBuffer sb = new StringBuffer() ;
for ( int i = 0 ; i < s.length() ; i++ )
{
char c = s.charAt( i ) ;
if ( c >= 0 && c <= 255 )
{
sb.append( c ) ;
}
else
{
byte[] b ;
try
{
b = Character.toString( c ).getBytes( "utf-8" ) ;
}
catch ( Exception ex )
{
System.out.println( ex ) ;
b = new byte[0] ;
}
for ( int j = 0 ; j < b.length ; j++ )
{
int k = b[j] ;
if ( k < 0 )
k += 256 ;
sb.append( "%" + Integer.toHexString( k ).toUpperCase() ) ;
}
}
}
return sb.toString() ;
}
}

81,092

社区成员

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

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