精华内容
下载资源
问答
  • //以下内容是引用网友的代码,由于原来的出处找到了,在此表示万分感谢和抱歉。 //打开文件 $fp = fopen($path, "rb" ); //设置指针位置 ob_start(); fseek($fp, 0 ); //虚幻输出 while (!...
     public function download(){
    
        $id = input('id');
        $item = Db::name('imgsubmit')->where(['id'=>$id])->find();
        Db::name('imgsubmit')->where(['id'=>$id])->update(['status'=>1]);
        $tt = ltrim($item['zip'],'uploads/');
        $path = config('upload_path').DS.$tt;
        $arr = explode('/',$path);
        $iname=$item['username'].'_'.$item['order_no'];
        /*$filename = $arr[count($arr)-1];*/
        $filename=$iname.'.zip';
        //$file  =  fopen($path, "rb");
    
            if (file_exists($path)) {
             $filesize=filesize($path);
             header('Content-Description:File Transfer');
             header("Content-Type:application/octet-stream");
             header('Content-Transfer-Encoding:binary');
             header("Accept-Ranges: bytes");
             header('Expires:0');
             header('Cache-Control:must-revalidate');
             header('Pragma:public');
             header("Content-Length:".$filesize);
             header("Content-Disposition:attachment;filename=".$filename);
            //以下内容是引用网友的代码,由于原来的出处找不到了,在此表示万分感谢和抱歉。
            //打开文件 
            $fp = fopen($path, "rb"); 
            //设置指针位置 
            ob_start();
            fseek($fp,0); 
            //虚幻输出 
            while (!feof($fp)) { 
                //设置文件最长执行时间 
                set_time_limit(0); 
                print (fread($fp, 1024 * 8)); //输出文件 
                flush(); //输出缓冲 
                ob_flush(); 
            } 
            fclose($fp); 
            exit ();}else{echo "文件不存在!!!";die();}
    
    }
    
    
    
    
    
    
    
    本文转自lb沫51CTO博客,原文链接:http://blog.51cto.com/13562606/2066555,如需转载请自行联系原作者
    
    展开全文
  • 断点续传

    2013-05-20 14:01:55
    IE浏览器默认下载方式不支持断点续传。 常见的支持断点续传的上传、下载软件:QQ旋风、迅雷、web迅雷、影音传送带、快车、BitComet、电驴eMule、哇嘎Vagaa、RF[RaySourse/RayFile]等。 QQ邮箱断点续传-上传 由于...

    断点续传指的是在下载或上传时,如果碰到网络故障,可以从已经上传或下载的部分开始继续上传下载以后未上传下载的部分,而没有必要重头开始上传下载。 IE浏览器默认下载方式不支持断点续传。   常见的支持断点续传的上传、下载软件:QQ旋风、迅雷、web迅雷、影音传送带、快车、BitComet、电驴eMule、哇嘎Vagaa、RF[RaySourse/RayFile]等。 QQ邮箱断点续传-上传 由于网络连接中断,而重新上传文件时 再次上传,就会实现断点续传,任然从原先的位置开始上传。。。。,或者保存到草稿箱,下次再上传时,任然断点续传 视频断点续传-上传 强烈建议XX网制作一个上传视频的软件,能够支持断点续传的,我在网页上传视频,总是传到百分之多少的时候就不动了,想刷新从新传,但是心不甘情不愿的,毕竟传了一部分了还得重新上传,有时一个视频传好几遍都传不上去,非常郁闷,所以建议XX网制作一个支持断点续传的上传软件,期待中。。。

    展开全文
  • 最近公司在做一个Http和Ftp下载客户端,需要支持断点续传功能,在网上找了很久,也有过一些方法,比如,在看雪里说,修改FtpOpenFile函数原型来实现(修改Wininet.dll实现FTP断点续传),但是我测试,能通过,...

    最近公司在做一个Http和Ftp下载客户端,需要支持断点续传功能,在网上找了很久,也有过一些方法,比如,在看雪里说,修改FtpOpenFile函数原型来实现(修改Wininet.dll实现FTP断点续传),但是我测试,不能通过,可能我使用的方法有点问题。后来就继续找别的方式,最后,发现Ftp函数里有个FtpCommand函数,看了相关的一些介绍文章,感觉应该可以通过它来做做文章,好在网上有一篇帖子,说用它可以实现,于是,做了一些测试,嘿嘿,发现能用,下面贴出我的代码

     

     

    m_hConnect = InternetConnect(m_hOpen, 

                                         m_loadParam.m_server.c_str(), 

                                         static_cast<INTERNET_PORT>(m_loadParam.m_port), 

                                         m_loadParam.m_username.c_str(), 

                                         m_loadParam.m_password.c_str(), 

                                         INTERNET_SERVICE_FTP, 

                                         INTERNET_FLAG_PASSIVE, 

                                         NULL);

            if (NULL == m_hConnect)

            {

                break;

            }

     

            if (m_existTotal > 0) //需要断点续传时

            {

                RCString rest;

                RCStringUtil::Format(rest, _T("rest %d"), m_existTotal);

                if (!FtpCommand(m_hConnect, FALSE, FTP_TRANSFER_TYPE_BINARY, rest.c_str(), (DWORD_PTR)this, NULL))

                {

                    break;

                }

            }

     

            m_hFile = FtpOpenFile(m_hConnect, 

                                  m_loadParam.m_object.c_str(), 

                                  GENERIC_READ, 

                                  FTP_TRANSFER_TYPE_BINARY,

                                  NULL);

            if (NULL == m_hFile)

            {

                break;

            }

     

            if (m_callback)

            {

                m_callback->OnMessage(IDownloadCallback::AE_GET_INFO);

            }

     

            DWORD highPart(0);

            m_fileTotal = FtpGetFileSize(m_hFile, &highPart) - m_existTotal;//FtpGetFileSize获得的大小是全文件大小

            if (m_fileTotal <= 0)

            {

                break;

            }

     

     

    注意,需要在FtpOpenFile之前就要调用,否则,Ftp文件指针不会发生偏移的。

     

     

     

     

    顺便把Http断点续传也给大家讲讲

    Http与Ftp不同的地方,是在获取Http文件指针之后,在发出请求,对文件指针进行偏移操作,而Ftp是先发出偏移请求,在获取Ftp文件指针。Ftp获取文件指针之后,就不能对其进行偏移了。

    不废话,下面也贴出其代码

     

    m_hConnect = InternetConnect(m_hOpen, 

                                         m_loadParam.m_server.c_str(), 

                                         static_cast<INTERNET_PORT>(m_loadParam.m_port), 

                                         NULL,

                                         NULL, 

                                         INTERNET_SERVICE_HTTP, 

                                         NULL, 

                                         NULL);

            if (NULL == m_hConnect)

            {

                break;

            }

     

            m_hFile = HttpOpenRequest(m_hConnect, 

                                      NULL, 

                                      m_loadParam.m_object.c_str(), 

                                      _T("HTTP/1.1"), 

                                      NULL, 

                                      NULL, 

                                      INTERNET_FLAG_KEEP_CONNECTION, 

                                      NULL);

            if (NULL == m_hFile)

            {

                break;

            }

     

            if (m_callback)

            {

                m_callback->OnMessage(IDownloadCallback::AE_GET_INFO);

            }

            RCString rang;

            if (m_existTotal > 0)

            {

                RCStringUtil::Format(rang, _T("Range: bytes=%d-"), m_existTotal);

                if (!HttpAddRequestHeaders(m_hFile,

                                           rang.c_str(),

                                           rang.size(),

                                           HTTP_ADDREQ_FLAG_ADD))

                {

                    break;

                }

            }

     

            if (m_callback)

            {

                if (m_callback->OnIsCancel())

                {

                    lff = IDownloadCallback::LFF_CANCEL;

                    break;

                }

            }

     

            if (!HttpSendRequest(m_hFile,rang.c_str(),rang.size(),NULL,NULL))

            {

                break;

            }

     

            DWORD totalSize = sizeof(m_fileTotal);

            if (!HttpQueryInfo(m_hFile,

                               HTTP_QUERY_CONTENT_LENGTH | HTTP_QUERY_FLAG_NUMBER,

                               &m_fileTotal,    //返回偏移后的文件大小

                               &totalSize,

                               NULL)

                || m_fileTotal <= 0)

            {

                break;

            }

     

    欢迎大家指正,/(^o^)/~

     

    展开全文
  • 应用场景:通过http进行文件下载升级程序,中途可能会遇到网络稳定状况,容易出现以下状况 解决方案:采用http断点续传方式 模拟测试:

    应用场景:通过http进行文件下载升级程序,中途可能会遇到网络不稳定状况,容易出现以下状况

    解决方案:采用http断点续传方式,在网络异常时停止下载,网络恢复后自动下载

    模拟测试:





    点击打开链接


    展开全文
  • 断点续传原理

    2010-09-29 19:01:06
    IE浏览器默认下载方式不支持断点续传。  常见的支持断点续传的上传、下载软件:QQ旋风、迅雷、web迅雷、影音传送带、快车、BitComet、电驴eMule、哇嘎Vagaa、RF[RaySourse/RayFile]等。 QQ邮...
  • 用Java实现文件下载也不用多说了,读取文件,通过二进制流的方式往response里写就行了。H5播放器调用也能进行播放了;然而当我控制进度的前进和后退时,问题来了,居然一点效果都没有!没有快进播放器还叫播放器吗?...
  • 使用indexedDB实现的一个H5下载js插件,支持大文件在浏览器页面内下载,有断点续传下载能力,适合需要下载大文件,并且有很强的权限控制,希望下载地址外泄的情况。 有下载的人反馈说没有分析,其实是有的,在...
  • 断点下载/断点续传

    2018-12-13 11:45:00
    知识点一: 获取服务器文件信息,不下载 方式1,ajax方式(只支持同域): 测试页面:http://wvoice.spriteapp.cn/voice/2015/0818/55d2248309b09.mp3 ​var head = document.head || document....
  • 断点续传下载

    2016-06-21 14:17:00
    Android网络编程之断线续传 xUtils简介 xUtils 包含了很多实用的android工具。 xUtils 支持大文件上传,更全面的http请求协议支持(10种谓词),拥有更加灵活的ORM,更多的事件注解支持受混淆影响... 目前xUtils...
  • (本文的断点续传仅涉及下载,上传在讨论之内)当下载大文件的时候,如果没有实现断点续传功能,那么每次出现异常或者用户主动的暂停,都会去重头下载,这样很浪费时间。所以项目中要实现大文件下载断点续传功能...
  • (本文的断点续传仅涉及下载,上传在讨论之内)当下载大文件的时候,如果没有实现断点续传功能,那么每次出现异常或者用户主动的暂停,都会去重头下载,这样很浪费时间。所以项目中要实现大文件下载断点续传功能...
  • 断点续传(服务端的支持) 多线程同时下载(分片下载) 前面讲了文件的上传,今天来聊聊文件的下载。 老规矩,还是从最简单粗暴的开始。那么多简单算简单?多粗暴算粗暴?我告诉你可以写一句代码,你信吗?直接.....
  • Springboot 实现大文件上传(支持断点续传)+渐进式视频播放+限速 参考链接: https://www.jianshu.com/p/aa44eb96c7b6 参考链接: https://www.jianshu.com/p/c449dec43099 以下仅作个人代码记录,若有正确之处,...
  • 断点续传下载器:任务新建后即会在tmp文件夹生成对应的临时文件(.tmp),断点续传的主要原理就是保存.tmp文件的路径, 下次重新新建任务时,如果存在.tmp文件则采用续传的方式建立任务,否则正常建立任务。 使用...
  • HTTP断点续传上传控件

    热门讨论 2012-02-21 10:27:48
    对于开发人员来说,有了这些信息,断点续传功能将会变的和普通的文件上传功能一样简单。 相信新颖网络HTTP断点续传控件能够帮助您赢利市场。 版权所有 2009-2012 北京新颖网络 保留所有权利 官方网站:...
  • (当然,你自己电脑上的IIS也是http服务器)5)支持断点续传6)分段下载7)使用缓冲区,提升下载速度8)支持大文件下载(速度我就说了,你可以测,用事实说话)9)带进度条:下载百分比、下载量、即时下载速度、平均下载...
  • android多线程断点续传

    2011-09-17 00:15:26
    首要问题(多线程下载)已经被我们解决了,支持断点下载想必大家也已经想到了。就是将下载的进度保存到文件中,但在Android中却能这么做。通过老黎的试验,在Android平台中,我们需要向文件中写出下载的文件数据...
  • 只是简单的实现了多任务,支持断点续传下载管理。 下面开始本次话题吧! 那么怎么用这玩意儿实现一个下载管理的功能?大体的思路是这样的:  1.点击下载按钮以后,除了要让AsyncTask开始执行外,还要把...
  • volley同样适合大文件的下载,只能自己扩展了,我这里参考了Netroid,有兴趣的...断点续传是根据http头里的Range 和Content-Range实现.  Range用于请求头中,指定第一个字节的位置和最后一个字节的位置,一般格式
  • 文件下载的三种方式

    2017-03-19 01:38:51
    文件下载的三种方式 标签: 断点续传AFN文件下载 2016-05-05 19:44 1420人阅读 评论(0) 收藏 举报 ...文件下载一(不支持断点续传) 这种下载方式用的场合比较少,逻辑比较复杂,代
  • 第一种:http方式下载: 下载网址:https://github.com/android/ 点击第一项:platform_frameworks_base (下载FRAMEWORK核心源码)进入,...选择 ZIP文件即可选择用迅雷等工具下载不支持断点续传)   第二种
  • 源码: Windows下HTTP方式单线程下载

    千次阅读 2008-03-28 18:58:00
    针对昨天的试验结果,书写了一个HTTP方式单线程下载的小程序,目前尚不支持断点续传。希望各位看客使劲拍砖~~原理:套接字发送HTTP GET方式的请求,然后根据HTTP响应,循环接收信息。进行下载调用函数为:...
  • 谷歌网盘国内下载API

    千次阅读 2019-11-21 14:47:58
    使用方式: #1: 普通接口模式 ( 能断点续传, 一些下载...#2: 高级接口模式 ( 支持断点续传, 能正确获取文件名, 走CloudFare CDN, 支持中国等地区, 速度可能没接口#1快. ) https://api.moeclub.org/GoogleDrive//No...
  • brew本身不支持断点续传;但是可以使用wget -c的方式断点续传的下载依赖;下载完如何给brew安装使用呢?参考: https://www.jianshu.com/p/a5bd7ef4ed62 之所以使用brew安装,方便管理 mac brew 下载缓存目录: ~/...
  • 功能完整强大的android下载管理器, 支持多任务管理,断点续传,暂停下载下载任务图标设置,状态栏通知(进度条),媲美国内知名软件市场hiapk,360手机助手等内置的下载管理器。 本软件暂时以共享软件方式发布...
  • 今天试图在CSDN下载频道下载一个文件,文件大小有80Mbyte,网页不支持第三方软件的下载方式,只能通过点击网页上类似“下载”这样的按钮,才能启动下载,而默认使用浏览器下载;由于文件比较大,使用浏览器下载过程...
  • WebApi分块下载文件

    2019-09-22 18:18:57
    但是别人嵌入式的同事调用以后发现改成流以后就能分块下载文件了,这才了解到原来嵌入式设备下载大文件一般会采取分块的方式进行下载,这样的好处是一部分一部分的下载,如果断了也能断点续传。 特意研究了...
  • 用Wget进行下载

    2019-10-01 20:59:26
    wget下载可以不用考虑资源的双向认证的问题,...所以java自带的下载方式可能不是所有的资源都能下载,而wget可以,并且wget支持断点续传,默认是20次重复的下载机会。并且下载异常稳定。 public long download(St...

空空如也

空空如也

1 2 3 4 5 6
收藏数 112
精华内容 44
关键字:

下载方式不支持断点续传