• 批量下载


    用过浏览器的开发人员都对大文件上传与下载比较困扰,之前遇到了一个需要在JAVAMyEclipse环境下大文件上传批量下载的问题,无奈之下自己开发了一套文件上传控件,在这里分享一下。希望能对你有所帮助。

    以下是项目所需的脚本文件

    以下是部分实例代码

    <%@ page language="java" import="up7.*" pageEncoding="UTF-8"%><%@

        page contentType="text/html;charset=UTF-8"%><%@

        page import="org.apache.commons.lang.StringUtils" %><%@

        page import="up7.biz.folder.*" %><%@

        page import="up7.*" %><%@

        page import="up7.biz.*" %><%

    /*

        此页面主要用来向数据库添加一条记录。

        一般在 HttpUploader.js HttpUploader_MD5_Complete(obj) 中调用

        更新记录:

             2012-05-24 完善

             2012-06-29 增加创建文件逻辑,

             2017-05-05 文件上传完后添加到数据库

    */

     

    String uid        = request.getParameter("uid");

    String id         = request.getParameter("id");

    String callback = request.getParameter("callback");//jsonp

     

    //返回值。1表示成功

    int ret = 0;

    if ( !StringUtils.isBlank(uid)

        && !StringUtils.isBlank(id))

    {  

        DBConfig cfg = new DBConfig();

        DBFile db = cfg.db();

       

        //标识已完成

        db.complete(id);

       

        //合并完毕

        db.merged(id);

        ret = 1;

       

        //触发事件

        up7_biz_event.file_post_complete(id);

    }

    XDebug.Output("文件上传完毕");

    %><%=callback + "(" + ret + ")"%>

     

    这里我先介绍一下主要功能,最后附上链接,有需要的朋友可以自行了解。

    分片与并发结合,将一个大文件分割成多块,并发上传,极大地提高大文件的上传速度。我们随机上传4个文件或文件夹

     

    当网络问题导致传输错误时,只需要重传出错分片,而不是整个文件。另外分片传输能够更加实时的跟踪上传进度。如下图:

    当重新打开网页时,只需要点击继续即可。

     

     上传完成后,我们发现页面上已出现相应的文件或文件夹名称

    查看我们的数据库会发现已经新建了当天的日期文件夹,点击查看

     

    会发现随机生成的4个文件夹并存放,打开发现确认是我们上传的原文件或文件夹

      

     

    至此上传测试成功,当然有了上传自然也离不开下载。

     

     

    勾选多个上传的文件或文件夹,你会发现多了一个下载按钮

     

    然后点击下载按钮,设置下载目录文件夹

    我设置的是桌面的测试下载目录,设置好点击确定后,继续点击下载按钮,你会发现在页面的右下角出现了下载面板,你选择的文件已出现在目录中,然后点击全部下载,或者单个点击继续

    下载完成后打开我们设置的下载目录文件夹,发现需下载的文件或文件夹确认已下载成功,文件夹内的内容与下载文件夹内容一致

    数据库记录

    说明: http://bbsres2.ncmem.com/b886fdb7.png

     

    产品介绍官网:https://dwz.cn/fgXtRtnu

  • 相关阅读:
    Docker实用技巧之更改软件包源提升构建速度
    Jenkins 集群搭建
    Jenkins 无法捕获构建脚本错误问题
    CentOS 7 安装 Jenkins
    CentOS 7 安装 JAVA环境(JDK 1.8)
    CentOS 7 源码编译安装 Nginx
    CentOS 7 源码编译安装 Redis
    CentOS 7 源码编译安装 NodeJS
    Chrome 谷歌浏览器清除HTTPS证书缓存
    IdentityServer4实战
  • 原文地址:https://www.cnblogs.com/xproer/p/10937139.html
Copyright © 2020-2023  润新知