首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

jave web 批量下传

2012-12-14 
jave web 批量上传我的需求是这样的:Servlet+JSP 进行开发只有一个input typefile/,可以选择多个文件

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 doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request,response);
}

public void doPost(HttpServletRequest request, HttpServletResponse response)


throws ServletException, IOException {
uploadFile(request,response);
}


private void uploadFile(HttpServletRequest request, HttpServletResponse response){
String dir = request.getSession().getServletContext().getRealPath("/uploadFile");//把上传的文件保存在uploadFile文件夹里 
File file = new File(dir);
if(!file.exists())
   file.mkdirs();
   
FileItemFactory factory = new DiskFileItemFactory();
    ServletFileUpload upload = new ServletFileUpload(factory);
        //防止中文文件名乱码
    upload.setHeaderEncoding("UTF-8");
        try {
           List<FileItem> items = upload.parseRequest(request);
           if (items != null) {
              Iterator<FileItem> itr = items.iterator();
              while (itr.hasNext()) {
                  FileItem item = (FileItem) itr.next();
                  if (item.isFormField()) {
                      continue;
                  } else {
                  File savedFile=new File(dir+File.separator+item.getName());
                      item.write(savedFile);
                  }
              }
           }
        } catch (Exception e) {
           e.printStackTrace();
        }
        try {
  response.getOutputStream().println("200 OK");
    } catch (IOException e) {
  e.printStackTrace();
    }
}



}



虽然swfuploadFile可以实现批量上传,但本质上还是一个一个文件上传。
[其他解释]
引用:
Xproer.HttpUploader2: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示例

还行,之前做的一个项目也是用的这个控件。提供的示例比较完善。
[其他解释]
引用:
引用:我的需求是这样的:Servlet+JSP 进行开发  只有一个<input type="file"/>,可以选择多个文件上传,服务器端接收这些文件,将它们的路径保存到数据库中。我在网上看了很多,要用到swfupload组件,可是我不会用这个组件(老外写的,看不懂)。请高手给指点一下,如果代码太多,可以发到我的邮箱里:jianghao……
+1
[其他解释]
感谢大家对我提供的帮助,非常感谢ck0in2gb0oy 给予的回复,对我很有用,谢谢

热点排行