Java文件上传的问题!(高手请进!高分悬赏追加!)

我用的是JSP+Servlet 现在我就是要上传一些视频文件或图片,而我在的Servlet该怎么样去写这个上传的流,希望高手们教教我下 本人在线等!
答案好定会追加分数!
最好高手们能有代码是最好的 谢谢了 ! 视频图片相关的文件上传! 最好是在servlet中写方法流!尤其是要写入数据库里面!

先从网上下载一个jspSmartUpload组件的jar包,下载后,将该jar包复制到项目工程WEB-INF/lab下(如果使用的是MyEclipse),就可使用该jar包中的方法
import com.jspsmart.upload.*;
1、上传页面upload.html
本页面提供表单,让用户选择要上传的文件,点击"上传"按钮执行上传操作。
页面源码如下:
<html>
<head>
<title>文件上传</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body>
<p> </p>
<p align="center">上传文件选择</p>
<FORM METHOD="POST" ACTION="jsp/do_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>
2、上传处理页面do_upload.jsp
本页面执行文件上传操作。页面源码中详细介绍了上传方法的用法,在此不赘述了。
页面源码如下:
<%@ page contentType="text/html; charset=gb2312" language="java"
import="java.util.*,com.jspsmart.upload.*" errorPage="" %>
<html>
<head>
<title>文件上传处理页面</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>

<body>
<%
// 新建一个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+"个文件上传成功!<br>");

// 利用Request对象获取参数之值
out.println("TEST="+su.getRequest().getParameter("TEST")
+"<BR><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>");

// 将文件另存
// file.saveAs("/upload/" + myFile.getFileName());
// 另存到以WEB应用程序的根目录为文件根目录的目录下
// file.saveAs("/upload/" + myFile.getFileName(),
su.SAVE_VIRTUAL);
// 另存到操作系统的根目录为文件根目录的目录下
// file.saveAs("c:\\temp\\" + myFile.getFileName(),
su.SAVE_PHYSICAL);

}
%>
</body>
</html>
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-02-21
表单这样写
<form action="/News/addsecondtitleservlet" enctype="multipart/form-data" method="POST">

用SmartUpload 上传,只给出关键代码:
import com.jspsmart.upload.*;
SmartUpload su = new SmartUpload();
su.initialize(this.getServletConfig(), request, response);
su.setAllowedFilesList("html,htm,txt");
try {
su.upload();
}catch(Excepting e)
{
}
第2个回答  2009-02-21
把图片的取到,用流导入。

写绝对路径啊
第3个回答  2009-02-21
为什么用servlet啊?
如果用servlet只能自己写方法!
自己搜下,有很多!

用struts的话,可以用自带的file-upload组件!
第4个回答  2009-02-21
在线交流

java编程,高手请进,高分悬赏,答对追加200
double[] d = {1.0, 2.0, 3.0};\/\/1.编写一个类TestClass,为TestClass添加一个double类型的数组,并给数组赋初值。public double dSum(){\/\/2.为TestClass添加一个方法,该方法实现对数组的求和。double sum = 0;for(int i=0; i<d.length; i++){ sum += d[i];} return sum;...

Java高手请进
import java.util.Vector;import java.util.*;public class Mark { private static Vector<Student> vmark = new Vector<Student>();public static void print(String line) { System.out.println(line);} public static void addStudent(Student s) { vmark.add(s);} public static int getNum(...

电脑高手请进!拓展硬盘问题!高分悬赏!解决追加奖!
楼主这个问题确实其怪,本人也是专业做电脑维修的.以前遇到过一次和楼主这个现象类似的问题,当时是因为主机电源供电不足造成的。当时换了个380W的新电源问题就解决了。至于楼主说的,如果想500G做主盘,想把80G系统转到500G上,这个很简单,正常把500G分区就行,然后用ghost软件,分区对分区刻一下就行了。

猜谜,高手进,高分悬赏
1、光明--马;2、银玉--蝴蝶;3、太平--水龙;4、只得--野猫;5、神威--狮子;6、日山--鸡;7、井利--金鱼;8、元吉--鹿;9、青云--仙鹤;10、金官--乌龟;11、九官--画眉;12、有利--大象;13、音位--蜘蛛;14、万金--蛇;15、逢春--孔雀;16、坤山--虎;17、荣生--鸭18...

高分悬赏,高手请进:)
using namespace std;struct Llist { char name[20];int sign;Llist *next; \/\/去掉struct修饰,下面几行也是如此 };Llist *creat(){ Llist *p,*p1,*p2;int flag=0;cout<<"if you have finish instruction please let the flag be 0! Continue let it be 1"<<endl;p=new Llist;...

电脑问题,高手请进~~高分寻求解决问题
电脑问题,高手请进~~高分寻求解决问题 第一个问题:我没有装软驱,每次进系统后,都有3.5软驱,这是怎么回事,怎么解决?我的主板是华擎ConRoe1333-D667,说明一下,我的第一启动是光驱,然后是硬盘。也顺便寻求它的BIOS图文... 第一个问题:我没有装软驱,每次进系统后,都有3.5软驱,这是怎么回事,怎么解决? 我的...

高分请电脑高手解决问题.解决了追加100分!
File Name?(546)Output error file to fhe following Location!A:\\GHOSTERR TXT.OK Cancel 这个错误是你C盘不能用ghost恢复 你用光盘启动进入DOS,用format c:\/s\/q来格式化 C盘 再用ghost来恢复试试 电脑最好不要用那种自动装的系统,这样很容易把电脑的数据弄丢失的 ...

BIOS设置问题,高分悬赏,BIOS高手请进。
BIOS设置问题,高分悬赏,BIOS高手请进。 在BIOS的Featuressetup中,以下小项我都不理解,请高手不吝赐教:OnboardFDC后面默认值是EnabledOnboardserialPortA后面默认值是3F8h\/com1OnboardIRPort后面默认值是DisabledOnboardpara... 在BIOS的Features setup中,以下小项我都不理解,请高手不吝赐教:Onboard FDC后面默认值...

急急急!高手来呀,高分悬赏,成功解决再加200
楼主你好,你说的信息C盘里面一个internet临时文件夹,里面有你的以前使用过的临时文件,地址如下:C:\\Documents and Settings\\计算机名\\Local Settings\\Temporary Internet Files 里面肯定有的,祝楼主好运!

BIOS设置问题,高分悬赏,BIOS高手请进。
BIOS设置问题,高分悬赏,BIOS高手请进。 我电脑的BIOS中,有一项是设置系统安全的,Systemsecurity下面有有几个小项,分别是:passwordstatus后面的值是unlockedsystempassword后面的值是notenabledsetuppassword后面的值是noten... 我电脑的BIOS中,有一项是设置系统安全的, System security下面有有几个小项,分别是: password...

相似回答