参见FAQ..或者搜索上传,smartupload ,下载.. 或者google搜索 (搜索的好处能发现好多关联的问题。)论坛是发现问题,解决问题,讨论问题的地方,你的问题大家都讨论过了,所以
如果论坛上总是出现相同的问题,可能对一些常来的人失去兴趣了,不利于论坛健康发展。而csdn所谓的人气旺盛,大部分也都是我们这些初学者,即使我贴了,对你的帮助也不大。。 关于提问参见(http://forum.hibernate.org.cn/viewtopic.php?t=70&sid=bb5a01c054993b7a2ee132dbe93d4aeb)btw,我也好多问题不懂,一般都是搜索的。。只有知己明白,了解又有疑惑的问题才拿来提问,提问也是个讨论的过程。 希望你能理解,谢谢:)
如果论坛上总是出现相同的问题,可能对一些常来的人失去兴趣了,不利于论坛健康发展。而csdn所谓的人气旺盛,大部分也都是我们这些初学者,即使我贴了,对你的帮助也不大。。 关于提问参见(http://forum.hibernate.org.cn/viewtopic.php?t=70&sid=bb5a01c054993b7a2ee132dbe93d4aeb)btw,我也好多问题不懂,一般都是搜索的。。只有知己明白,了解又有疑惑的问题才拿来提问,提问也是个讨论的过程。 希望你能理解,谢谢:)
解决方案 »
- tomcat 启动报错
- 如何调试JSP页面
- 求助一个关于javascript的问题
- java mail 发邮件连接不上smtp服务器怎么办啊
- [求助]逻辑错误,初学者求教!
- import org.apache.commons.beanutils.* 不知道这些包中的类是什么功能,有API可查吗?
- SmartUpload的使用问题
- 急急急急!!!!!分页显示???
- 用jsp查询数据库,有些字段可以找到,有些又抱错怎么一回事啊?
- 紧急:jsp运行问题,送100分(在线等)
- 在jsp中能否调用ole??
- 我在tomcat中用javaBean提示不能用,错误号为500,我把代码贴出来,大家来看看错在那里?
http://www.jspsmart.com 或
http://www.hoodle.net/other/zujian/jspSmartUpload.zip二、将目录jspsmartupload/wib_inf/classes中的内容拷贝到网站所在的实际目录中的web_inf中(resin是这个目录,其他的可能是classes,具体请查阅jspsmartupload/help/setup.htm)三、如果是resin运行JSP,请在resin的conf/resin.conf中的
<web-app>和</web-app>中加入:
<path-mapping url-pattern='/upload/*' real-path='f:\jsp\jspsmartupload\upload'/>四、上传界面的代码如下:(文件名:insert.htm)
<FORM METHOD="POST" ACTION=" uploadfile.jsp" ENCTYPE="multipart/form-data">
<INPUT TYPE="FILE" NAME="FILE1" SIZE="50"><BR>
<INPUT TYPE="FILE" NAME="FILE2" SIZE="50"><BR>
<INPUT TYPE="FILE" NAME="FILE3" SIZE="50"><BR>
<INPUT TYPE="FILE" NAME="FILE4" SIZE="50"><BR>
主题:<input type="text" name="text1" ><br><INPUT type=submit value=写 完 name=ok>
</form>注意上面的real-path目录五、uploadfile.jsp的代码如下:<%@ page language="java" import="com.jspsmart.upload.*"%>
<jsp:useBean id="mySmartUpload" scope="page" class="com.jspsmart.upload.SmartUpload" /><HTML>
<BODY BGCOLOR="white"><H1>hoodle-jsp</H1>
<HR><%int count=0;mySmartUpload.initialize(pageContext);'文件上传
mySmartUpload.upload();
'获得文本的内容
String content = mySmartUpload.getRequest().getParameter("text1");
'显示文本的内容
out.println(content);
'上传的情况统计
for (int i=0;i<mySmartUpload.getFiles().getCount();i++){com.jspsmart.upload.File myFile = mySmartUpload.getFiles().getFile(i);if (!myFile.isMissing()) {
myFile.saveAs("/upload/" + myFile.getFileName());
out.println("FieldName = " + myFile.getFieldName() + "<BR>");
out.println("Size = " + myFile.getSize() + "<BR>");
out.println("FileName = " + myFile.getFileName() + "<BR>");
out.println("FileExt = " + myFile.getFileExt() + "<BR>");
out.println("FilePathName = " + myFile.getFilePathName() + "<BR>");
out.println("ContentType = " + myFile.getContentType() + "<BR>");
out.println("ContentDisp = " + myFile.getContentDisp() + "<BR>");
out.println("TypeMIME = " + myFile.getTypeMIME() + "<BR>");
out.println("SubTypeMIME = " + myFile.getSubTypeMIME() + "<BR>");count ++;}}
out.println("<BR>" + mySmartUpload.getFiles().getCount() + " files could be uploaded.<BR>");
out.println(count + " file(s) uploaded.");
%>
</BODY>
</HTML>
<%@page contenttype="text/html;charset=gb2312"%>
<html>
<body>
<p>单击超连接下载zip文档book.zip
<br>
<a href="loadfile.jsp">下载book.zip
</body>
</html>
loadfile.jsp
<%@ page contentType="text/html;charset=gb2312"%>
<%@page import="java.io.*"%>
<html>
<body>
<%
OutputStream o=response.getOutputStream();
byte b[]=new byte[500];
File fileLoad=new File("E:/aa.mdb");
response.setHeader("contnt-disposition","attachment; filename="+"aa.rar");
response.setContentType("application/x-tar");
long fileLength=fileLoad.length();
String length1=String.valueOf(fileLength);
response.setHeader("Content_Length",length1);
FileInputStream in=new FileInputStream(fileLoad);
int n;
while((n=in.read(b))!=-1)
{
o.write(b,0,n);
}
%>
</body>
</html>upload.html
<%@ page contentType="text/html;charset=gb2312"%>
<html>
<body>
<p>选择要上传的文件:<br>
<form action="upload.jsp" method=post ENCTYPE="multipart/form-data">
<input type="FILE" name="boy" size="38">
<br>
<input type="submit" name="g" value="提交">
</body>
</html>
upload.jsp<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.io.*"%>
<html>
<body>
<% try{//用户的seesion 的id 建立一个临时文件。
String tempFileName=(String)session.getId();
//建立临时文件f1.
File f1=new File("E:/",tempFileName);
FileOutputStream o=new FileOutputStream(f1);
//将客户上全部信息存入f1.
InputStream in=request.getInputStream();
byte b[]=new byte[1000];
int n;
while((n=in.read(b))!=-1)
{
o.write(b,0,n);
}
o.close();in.close();
//读取临时文件f1,从中获取上传文件的名字和上传的内容。
RandomAccessFile random=new RandomAccessFile(f1,"r");
//读取f1 的第2行,析取上传文件的名字。
int second=-1;
String secondLine=null;
while(second<=2)
{secondLine=random.readLine();
second++;
}
//获取第2行中'\\'最后出现的位置。
int position =secondLine.lastIndexOf('\\');
String fileName=secondLine.substring(position,secondLine.length()-1);
random.seek(0);//再定位到文件的开头。
//获取文件的第4 行的回车符号的位置。
long forthEndPosition=0;
int forth=1;
while((n=random.readByte())!=-1&&(forth!=4))
{
if(n=='\n')
{
forthEndPosition=random.getFilePointer();
forth++;
}
}
//根据客户上传文件名字,将该文件存入磁盘。
File f2=new File("E:/",fileName);
session.setAttribute("Name",fileName);//供showImage.jsp页面使用
RandomAccessFile random2=new RandomAccessFile(f2,"rw");
//确定文件f1中包含客户上传的文件 的内容的最后位置,即倒数第6行。
random.seek(random.length());
long endPosition=random.getFilePointer();
long =endPosition;
int j=1;
while((>=0)&&(j<=6))
{
--;
random.seek();
n=random.readByte();
if(n=='\n')
{
endPosition=random.getFilePointer();
j++;
}
}
//将random流指向文件f1的第4 行结束的位置。
random.seek(forthEndPosition);
long startPoint=random.getFilePointer();
//从f1 读出客房上文件 并存入f2(读取从第4 行结束位置和倒数第6行之间的内容)。
while(startPoint<endPosition-1)
{
n=random.readByte();
random2.write(n);
startPoint=random.getFilePointer();
}
random2.close();
random.close();
f1.delete();//删除临时文件。
}
catch(IOException e){}
out.print("文件已上传");
%>
</body>
</html>
这是一个思路:你自己想一下吧