如题!有代码的给个代码,本人不胜感激!帮帮我这个小鸟吧!!
解决方案 »
- 关于hibernate一对多,多的一方加载时生成cross join 语句
- 如何时时监控一个网站上的内容更新变化?
- JSP中利用servlet打开一个设置的窗口,并向新窗口传值,关闭父窗口!
- 愁死了,在关键字 'from' 附近有语法错误
- 仿163网盘无刷新文件上传系统
- 编写一个函数sum来计算前n个自然数的和,n是传入的正整数参数。
- include的问题
- struts中 <html:radio竟然不能设置checked属性,也太差劲了吧,大家告诉我吧
- 查询中有汉字名字的表怎么办?
- 紧急求助(jsp和数据库)(高手捡分题)
- 求助 使用Myeclipse 8.5构建Struts2问题
- hibernate映射文件配置问题?
下载后解压zip包,将commons-fileupload-1.0.jar复制到tomcat的webapps你的应用程序的WEB-INF\lib下,如果目录不存在请自建目录。
下面用到的另外两个目录都要先创建(请下载的我的文件夹参考),一是用于存放上传文件的目录dir,二是存放临时文件的目录temp。
含有表单的上传html文件,upload.html
<html>
<head>
<title>文件上传</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body>
<b>文件上传</b></font></p>
<form name="UploadForm" enctype="multipart/form-data" method="post" action="upload.jsp">
<input type="file" name="File1" size="20" maxlength="20"> <br>
<input type="file" name="File2" size="20" maxlength="20"> <br>
<input type="submit"value="上传">
</form>
</body>
</html>
下面是处理表单的jsp文件:upload.jsp
<%@ page import="org.apache.commons.fileupload.*" %>
<%@ page import="java.util.List" %>
<%@ page import="java.util.Iterator" %>
<%@ page import="java.io.File" %>
<%@ page contentType="text/html;charset=gb2312" %>
<%
String temp=getServletContext().getRealPath("/")+"temp"; //临时目录
String loadpath=getServletContext().getRealPath("/")+"dir"; //上传文件存放目录
DiskFileUpload fu = new DiskFileUpload();
fu.setSizeMax(1*1024*1024); // 设置允许用户上传文件大小,单位:字节
fu.setSizeThreshold(4096); // 设置最多只允许在内存中存储的数据,单位:字节
fu.setRepositoryPath(temp); // 设置一旦文件大小超过getSizeThreshold()的值时数据存放在硬盘的目录 //开始读取上传信息
List fileItems = fu.parseRequest(request);
Iterator iter = fileItems.iterator(); // 依次处理每个上传的文件 while (iter.hasNext()) {
FileItem item = (FileItem) iter.next();// 忽略其他不是文件域的所有表单信息
if (!item.isFormField()) {
String name = item.getName();//获取上传文件名,包括路径
name=name.substring(name.lastIndexOf("\\")+1);//从全路径中提取文件名
// out.println(name);
long size = item.getSize();
if((name==null||name.equals("")) && size==0)
continue;
out.println(item.getName()+" Size="+item.getSize()+"<br>");//输出上传文件信息
File fNew= new File(loadpath, name);
item.write(fNew); }
}
%>
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="java.sql.*"%>
<%@ page import="com.jspsmart.upload.*" %><%
//实例化上载bean
SmartUpload mySmartUpload=new SmartUpload();
//初始化
mySmartUpload.initialize(pageContext);
//设置上载的最大值,注意:如果这里设置过大会出现问题!
mySmartUpload.setMaxFileSize(500 * 1024*1024);
//上载文件
mySmartUpload.upload();
//循环取得所有上载的文件
for (int i=0;i<mySmartUpload.getFiles().getCount();i++){
//取得上载的文件
com.jspsmart.upload.File myFile = mySmartUpload.getFiles().getFile(i);
if (!myFile.isMissing())
{
//取得上载的文件的文件名
String myFileName=myFile.getFileName();
//取得不带后缀的文件名
String suffix=myFileName.substring(0,myFileName.lastIndexOf('.'));
//取得后缀名
String ext= mySmartUpload.getFiles().getFile(0).getFileExt();
//取得文件的大小
int fileSize=myFile.getSize();
//保存路径
String aa=getServletContext().getRealPath("/")+"jsp\\";
String trace=aa+myFileName;
//取得别的参数
String explain=(String)mySmartUpload.getRequest().getParameter("text");
String send=(String)mySmartUpload.getRequest().getParameter("send");
//将文件保存在服务器端
myFile.saveAs(trace,mySmartUpload.SAVE_PHYSICAL);
%>
当然也可以用第三方上传组件如smartupload等
myFile.saveAs(trace,mySmartUpload.SAVE_PHYSICAL); 但是这个上传文件保存在服务器端是到哪里了啊?我要怎么样才能看到这个文件呢?