日期:2014-05-17  浏览次数:20737 次

jave web 批量上传
我的需求是这样的:Servlet+JSP 进行开发  只有一个<input type="file"/>,可以选择多个文件上传,服务器端接收这些文件,将它们的路径保存到数据库中。我在网上看了很多,要用到swfupload组件,可是我不会用这个组件(老外写的,看不懂)。请高手给指点一下,如果代码太多,可以发到我的邮箱里:jianghaodongok@yahoo.cn  如能解决问题,不胜感激。
------最佳解决方案--------------------
引用:
我的需求是这样的:Servlet+JSP 进行开发  只有一个<input type="file"/>,可以选择多个文件上传,服务器端接收这些文件,将它们的路径保存到数据库中。我在网上看了很多,要用到swfupload组件,可是我不会用这个组件(老外写的,看不懂)。请高手给指点一下,如果代码太多,可以发到我的邮箱里:jianghaodongok@yahoo.cn  如能解……

楼主试试这个控件:http://www.cnblogs.com/xproer/archive/2010/10/24/1859895.html
此控件是基于标准HTTP协议实现的文件上传功能。优势是扩展性非常好,整合简单,支持批量上传文件和上传文件夹功能,上传前获取本地文件大小,适合各种简单WEB项目。
另外一个特点是支持自动上传指定的本地文件。



单文件上传演示

上传本地文件代码
使用步骤如下:
1.调用AddFile函数添加本地文件,注意路径需要使用双斜框(\\)
2.调用PostFirst函数开始上传文件。

<script type="text/javascript" language="javascript">
     var uploaderMgr = new HttpUploaderMgr();
     uploaderMgr.Load();//加载控件

window.onload = function()
{
uploaderMgr.Init();//初始化控件
//添加一个本地文件
uploaderMgr.AddFile("D:\\Soft\\QQ2010.exe");
uploaderMgr.PostFirst();

};
</script>


单文件整合代码:

服务器返回消息:<input id="txtFilePath" type="text" size="50" />
<script type="text/javascript" language="javascript">
var uploaderMgr = new HttpUploaderSingleMgr();
uploaderMgr.Config["PostUrl"] = "http://localhost:8080/asp.net/upload.aspx";
uploaderMgr.Load();
//文件上传完成后执行的回调函数
uploaderMgr.CompleteHook = function(msg)
{
document.getElementById("txtFilePath").value = msg;
};

window.onload = function()
{
uploaderMgr.Init();
};
</script>

示例下载:
CAB安装包
开发文档
ASP示例
ASP.NET示例
ASP.NET-FCKEditor2.x示例
JSP示例
PHP示例

------其他解决方案--------------------
谢谢分享谢谢分享
------其他解决方案--------------------
楼主能分享一下么 554193911@qq.com
------其他解决方案--------------------
swfupload组件很好用的,把需要的文件放在web项目里,关于前台的js设置你上网查,网上很多。
你只需要写后台代码就可以。 你用的是servlet是吧,我把代码贴给你,你瞅瞅。

import java.io.File;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileItemFactory;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;

import com.bjcq.tool.Tool;

public class FileUploadServlet extends HttpServlet {
private static final long serialVersionUID = -7825355637448948879L;
public void&n