C语言中->计算器gt是什么意思思啊?

在chrome浏览器中启用断点续传功能
在chrome浏览器中启用断点续传功能,方便下载。
安装chrome浏览器
在地址栏输入 chrome://flags, 打开chrome配置项
找到 启用“恢复下载”功能
点击 启用,重启浏览器,即可。
chrome浏览器启用断点功能相关文章
网站开发调试,chrome是程序员的福音,尤其是对js的调试. 工具/原料 chrome浏览器 随意网址测试 方法/步骤 打开测试网址: f12 打开开发者工具: 控制台介绍: Elements:页面元素,可以进行编辑, ...
介绍了在xampp+eclipse+chrome环境下如何配置php的调试环境,配置完成后,可以在eclipse设置断点,在chrome浏览器里面发起调试,这样就可以自啊eclipse里面进行断点调试了. 工具/原料 e ...
安卓4.4及以上webview因为是Chromium内核,可以使用电脑上的Chrome浏览器调试,对于开发人员真机调试网页或者Cordova打包的app非常方便 工具/原料 一个cordova打包的app 安卓设备的us ...
对于软件程序员来说,使用浏览器进行调试功能可以说是必备技能,那么接下来就讲讲如何使用chrome进行调试 工具/原料 Chrome 方法/步骤 我们打开网址 右键--&审查元素,或者直接按F12,打开开发者模式 A ...
作为web开发者,经常需要使用JavaScript来完成一些页面效果,但是有时候会发现JS没有效果,这时候就需要在浏览器中调试一下JS代码.下面就来介绍一下主流浏览器的调试JS代码的方法. 工具/原料 Chrome浏览器 ...
Google Chrome开发者工具我想是Web编程的程序员都不会不知道,以前小编习惯使用火狐的开发者工具,因为觉得fireBug不错:但是后边就觉得不好用了,还经常卡死,网上流传firebug一个大师跳槽到了谷歌,所以 ...
工具/原料 最新版chrome浏览器 操作之前,我们需要使用最新版chrome浏览器,如果不是最新的请到官网下载. 打开浏览器 在地址栏中输入下面的命令 chrome://flags 在出现的新页面中按快捷键CTRF+F ...
Chrome浏览器在显示网页字体的渲染过程中可能出现字体发虚,字体模糊不清晰的情况,特别是网页默认宋体显示的情况下,模糊化的现象更加明显,极大的影响了用户的网页浏览体验,加大视觉疲劳,长此以往甚至可能加重近视程度. 小编 ...
chrome的插件丰富,从帮助你翻墙到国外网站的插件到支持网页聊天的插件,各种插件种类齐全,极大的扩展了chrome软件本身的功能.chrome对扩展插件的支持功能也做的非常便捷,易学易上手,下面将一步步介绍如何安装.禁 ...
如果能多了解一些chrome开发者工具调试技巧/功能对于平时开发很与帮助,在实际项目中多使用这些功能,提升自己的工作效率.这里教你使用chrome开发者工具Sources面板功能,还不会的小伙伴赶紧看过来: 工具/原料
软件编程人员,特别是web开发人员,必须要掌握浏览器调试技能,不管是Ie,还是谷歌还是其它浏览器,都带有开发模式(调试功能) 工具/原料 Chrome 网址 方法/步骤 进入开发者模式,有两种方式进入(1.右键--&gt ...
如果要问你上网录入汉字,用哪种输入法最好,也许你会说搜狗输入法或QQ拼音输入法.那么,我告诉你只说对了一半,搜狗云输入或QQ云输入更准确高效.不信咱就试试! 方法/步骤 一款好的汉字输入法,最实用的核心功能莫过于其精准的 ...
工具/原料 电脑操作系统 谷歌浏览器42或以上版本 登录中国银行网银出现控件不能使用,反复的多次安装控件都不行.就是图片这样. 经过百度,才知道了是API插件默认关闭惹的祸,好在谷歌浏览器提供开启的办法.需要我们在谷歌浏 ...
搜狗浏览器.猎豹浏览器都已经加入了单独页面的静音功能,这实在是一个很贴心.很实用的小功能,所以,chrome在最新的39版本中,也实现了这个功能,通过在实验室开启 #enable-tab-audio-muting,就能实 ...
有时候为了方便演示一个手机app,需要把手机屏幕显示到PC或Mac上.这里提供一个方法 - 使用Vysor达到此功能. Vysor的吸引力在于3个方面: 它适用于Windows.Linux或Mac. USB数据线分享的屏 ...
如果要问你,上网录入汉字用哪种输入法最好,也许你会说搜狗输入法或QQ拼音输入法.那么,我告诉你只说对了一半,搜狗云输入或QQ云输入更准确高效.不信咱就试试! 方法/步骤 借助于庞大的网络语料库的云输入法.恰恰具备更加梢准 ...
许多网友会遇到Cookie的相关问题 例如:1.想申请q号,但需开启Cookie 2.不能正常登陆邮箱 3.一些网站的投票.等等~~ 这些情况下都需要开启浏览器的Cookie功能. 工具/原料 无 一.IE浏览器(此方法 ...
许多用惯了chrome浏览器的朋友初用360安全浏览器,可能会感到不习惯.别的好说,就是它那个界面看着别扭,且不说项目繁多吧,顶部的菜单条和收藏夹占用了不少空间,致使浏览面积减少. 那么,怎样才能让360安全浏览器换上C ...
工具/原料 手机 谷歌Chrome 在谷歌Chrome中输入chrome://flags 启用&停用点击延迟& 这会停用300毫秒的点击延迟. 但会显著加速点击的过程 关注区域的图块数上限 当Chro ...
黔ICP备号-1http(18)
摘要: Http 206 文件断点续传下载原理
断点续传下载需要重视2个请求头Range与If-Range
一.断点续传的原理
&其实断点续传的原理很简单,就是在http的请求上和一般的下载有所不同而已。
&打个比方,浏览器请求服务器上的一个文时,所发出的请求如下:
&假设服务器域名为,文件名为down.zip。
1.1不使用断点续传
get&/down.zip&http/1.1
accept:&image/gif,&image/x-xbitmap,&image/jpeg,&image/pjpeg,&application/vnd.ms-
excel,&application/msword,&application/vnd.ms-powerpoint,&*
& &&收到请求后,按要求寻找请求的文件,提取文件的信息,然后返回给浏览器,返回信息如下:
HTTP/1.1&200&Ok
content-length=
accept-ranges=bytes
date=mon,&30&apr&2001&12:56:11&gmt
etag=w/&02ca57e173c11:95b&
content-type=application/octet-stream
server=microsoft-iis/5.0
last-modified=mon,&30&apr&2001&12:56:11&gmt
2.使用断点续传
所谓断点续传,也就是要从文件已经下载的地方开始继续下载。所以在浏览器传给web服务器的时候要多加一条信息--从哪里开始。
下面是用自己编的一个“浏览器”来传递请求信息给服务器,要求从2000070字节开始。
get&/down.zip&http/1.0
User-Agent:&netfox
Range:&bytes=2000070-
accept:&text/html,&image/gif,&image/jpeg,&*;&q=.2,&*/*;&q=.2
& 仔细看一下就会发现多了一行
Range:&bytes=2000070-
& 这一行的意思就是告诉服务器down.zip这个文件从2000070字节开始传,前面的字节不用传了。
Range的完整格式是&
Range:&bytes=startOffset-targetOffset/sum&&[表示从startOffset读取,一直读取到targetOffset位置,读取总数为sum直接]
Range:&bytes=startOffset-targetOffset&&[字节总数也可以去掉]
服务器收到这个请求以后,返回的信息如下:
HTTP/1.1&206&Partial&Content
content-length=
content-range=bytes&2000070-/
date=mon,&30&apr&2001&12:55:20&gmt
etag=w/&02ca57e173c11:95b&
content-type=application/octet-stream
server=microsoft-iis/5.0
last-modified=mon,&30&apr&2001&12:55:20&gmt
&和前面返回的信息比较一下,就会发现增加了一行:
Content-Range=bytes&2000070-/
返回的代码也改为206了,而不再是200了。
HTTP/1.1&206&Partial&Content
以上信息不需要后台程序返回,而是服务器直接读取信息返回给client
&知道了以上原理,就可以进行断点续传的了。
Client端代码如下
URL&url&=&new&URL(&/uploads/item//01_tyAVV.thumb.700_0.jpeg&);
File&targetFile&=&new&File(&test.jpeg&);&
HttpURLConnection&openConnection&=&(HttpURLConnection)&url.openConnection();
openConnection.setRequestMethod(&POST&);
if(targetFile.exists())
openConnection.addRequestProperty(&Range&,&&bytes=&+targetFile.length()+&-&);
openConnection.addRequestProperty(&Range&,&&bytes=0-&);
openConnection.connect();
int&responseCode&=&openConnection.getResponseCode();
Map&String,&List&String&&&headerFields&=&openConnection.getHeaderFields();
System.out.println(headerFields);
if(responseCode==200&||&responseCode==206)
InputStream&is&=&openConnection.getInputStream();
FileOutputStream&fos&=&new&FileOutputStream(targetFile);
int&len&=&-1;
byte[]&buf&=&new&byte[1024];
while((len=is.read(buf,0,1024))&0)
fos.write(buf,&0,&len);&
fos.close();
is.close();
}&catch&(IOException&e)&{
e.printStackTrace();
二.使用代码控制断点续传
文件下载原理主要控制来自于服务器端响应,浏览器或者httpClient自行读取IO流
1.在PHP文件下载所需要的头信息
Accept-Ranges:bytes&&
Access-Control-Allow-Origin:*&
Access-Control-Max-Age:2592000
Cache-Control:public,&max-age=
Connection:keep-alive
Content-Disposition:&filename=&c501b_01_h264_sd_960_540.mp4&
Content-Length:
Content-Transfer-Encoding:binary&
Content-Type:video/mp4&&
Date:Sun,&25&Jan&2015&00:17:14&GM&&
ETag:&lraEcGPNv-73F2tLNOKhuA8a6pFa&&
下面是一个简单的PHP下载文件的示例
2.用代码控制断点续传
function&smartReadFile(&$filepath,&$mimeType='application/octet-stream')
&&date_default_timezone_set('GMT');&&
&&$filepath=iconv(&utf-8&,&gb2312&,$filepath);
&if(!file_exists($filepath))
&&&&&header&(&HTTP/1.0&404&Not&Found&);
&&&&return;
&&$size=filesize($filepath);
&&$time=date('D,&j&M&Y&H:i:s&e',filemtime($filepath));&
&&$fm=@fopen($filepath,'rb');&
&&if(!$fm)
&&&&&header&(&HTTP/1.0&505&Internal&server&error&);
&&&&&return;
&&$stat&=&stat($filepath);
&&$md5str&=&md5_file($filepath);&
&&$etag&=&&$md5str.'-'.sprintf('%x-%x-%x',&$stat['ino'],&$stat['size'],&$stat['mtime']&*&1000000);
&&if(isset($_SERVER['HTTP_IF_RANGE'])&&&&(($_SERVER['HTTP_IF_RANGE']&==&$etag)&||&(strtotime($_SERVER['HTTP_IF_RANGE'])&&=&$stat['mtime'])))
&&&&&&&header('Etag:&&'&.&$etag&.&'&');
&&&&&&&header('Last-Modified:&'&.&date('D,&j&M&Y&H:i:s&e',&$stat['mtime']));
&&&&&&&header('HTTP/1.0&304&Not&Modified');
&&&&&&&return&;
&&&if(isset($_SERVER['HTTP_IF_NONE_MATCH'])&&&&$_SERVER['HTTP_IF_NONE_MATCH']&==&$etag)
&&&&&&&&header('Etag:&&'&.&$etag&.&'&');
&&&&&&&&header('HTTP/1.0&304&Not&Modified');
&&&&&&&&return&;
&&&&}&elseif(isset($_SERVER['HTTP_IF_MODIFIED_SINCE'])&&&strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE'])&&=&$stat['mtime'])&{
&&&&&&&&header('Last-Modified:&'&.&date('D,&j&M&Y&H:i:s&e',&$stat['mtime']));
&&&&&&&&header('HTTP/1.0&304&Not&Modified');
&&&&&&&&return;
&&$begin=0;
&&if(isset($_SERVER['HTTP_RANGE']))
&&{&if(preg_match('/bytes=\h*(\d+)-(\d*)[\D.*]?/i',&$_SERVER['HTTP_RANGE'],&$matches))
&&&&{&$begin=intval($matches[0]);
&&&&&&if(!empty($matches[1]))
&&&&&&&&$end=intval($matches[1]);
&&if($begin&0||$end&$size)
&&&&header('HTTP/1.0&206&Partial&Content');
&&&&header('HTTP/1.0&200&OK');&&
&&header(&Content-Type:&$mimeType&);&
&&header('Cache-Control:&public,&must-revalidate,&max-age=0');&
&&header('Pragma:&no-cache');&&
&&header('Accept-Ranges:&bytes');&
&&header('Content-Length:'.($end-$begin));&
&&header(&Content-Range:&bytes&$begin-$end/$size&);
&&header(&Content-Disposition:&&filename=&.basename($filepath).&&);&&
&&header('Content-Description:&File&Transfer');
&&header(&Content-Transfer-Encoding:&binary\n&);&
&&header(&Last-Modified:&$time&);&
&&header('Etag:&&'&.&$etag&.&'&');
&&header('Connection:&close');&&
&&fseek($fm,$begin,0);&
&&while(!feof($fm)&&$cur&$end&&(connection_status()==0))
&&&&echo&fread($fm,min(1024*16,$end-$cur));
&&&&$cur+=1024*16;
&&fclose($fm);
$file&=&'./test.png';
$exts&=&get_loaded_extensions();
$mimeType&=&'application/octet-stream';
if(array_search('fileinfo',&$exts)===FALSE)
&&$sizeInfo&=&getimagesize($file);
&&$mimeType&=&$sizeInfo['mime'];
&&$mimeType&=&mime_content_type($file);
smartReadFile($file,$mimeType);
三.服务器断点续传文件增强验证(If-Range,If-Match)
3.1使用if-Range进行增强校验
部分服务器支持断点续传,但是前提是必须保证如下格式请求头才行,否则无法断点续传,只能是http 200正常下载
If-Range:&&40e04a44a997d11:0&&
1.我们下载中断的时候一定要把得到的Last-Modified和Etag写入文件meta信息中,但是很多情况下ETag无法写入文件meta信息,因此,我们要确保last-Modifield被保存
2.注意,使用时间必须是格林尼治时间
3.2使用if-Match进行增强校验与Http412问题
当然使用if-Match也是一种方式,但是,如果服务器端的资源被修改了,那么,http请求时http 412,因此,我们建议使用iF-Range,这样,即时文件被修改,也会以http200返回全部资源。
If-Match:&&40e04a44a997d11:0&&
3.3关于If-Range增强断点续传验证测试
不设置If-Range的时候
设置If-Range的时候
3.3使用If-Modified-Since & If-None-Match
If-Modified-Since传递时间
If-None-Match传递etag,不会出现http 412问题
简单来说,if-Range是上述两者的综合体,因此,在实际项目中,请根据需要使用哪一种请求头。
四.关于在浏览器中显示文件内容
浏览器默认会显示一些 text/*,image/*,PDF类型的文件,但默认会变成自动下载,这是我们需要修改响应头为
Content-Disposition:inline;&filename=&c501b_01_h264_sd_960_540.mp4&
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:597006次
积分:7010
积分:7010
排名:第2775名
原创:55篇
转载:551篇
评论:49条
(17)(3)(1)(2)(16)(11)(31)(3)(5)(1)(13)(92)(45)(1)(24)(9)(48)(1)(35)(1)(10)(6)(3)(1)(2)(34)(10)(3)(2)(2)(9)(2)(21)(13)(6)(15)(25)(13)(17)(10)(10)(20)(3)(3)(5)(9)十多年前你跟我说打游戏能上亚运会,估计要被爸妈揍懵。
苹果甚至都还没有正式确认下一代 iPhone,这款新机产能不足要推迟出货这件事就已经是...
在眼下中文游戏偏少的情况,谁率先有中文,意味着谁就能率先得到中国玩家的注意。
与去年一样,谷歌的新 Pixel 手机仍将由 HTC 代工。
AirPods 无线耳机是一款非常棒的产品,但是有一个问题是,如果这款产品掉到一些你捡不...
昨天晚上,锋友“最爱玩软件”分享了一个利用 Automator 隐藏桌面上 Time Machine 磁...
做到文中的这几点,iPhone 8应该能稳中求胜。
中国当地很多相关公司都会很乐意帮你升级你的设备运存,花费400元人民币就可以直接升...
现在随着交通越发的发达便利,全球化的步伐加快,出国旅游成为了大家享受生活,认识世...
《咒语女士(Ms. Spell)》是Jason Pickering推出的一款回合制冒险闯关游戏,在游戏中...
最近几年对“古籍流行”也有一定的耳闻,在大书城或者大一些的书展,古籍重新编修出版...
在桌面游戏中就有一款以争夺土地资源为主要玩法的游戏作品《大地秘境(Terra Mystica...
游戏是借助各种口味的食物来展开一场场三消挑战,六个可爱风趣的小怪兽都有自己喜欢的...
人家跟刀谈恋爱谈得飞起,就不兴我跟马谈个恋爱吗!?等一下,哎我去这马……太鬼畜了...
上周更新中,Deemedya为广大玩家带来了一款十分有趣的休闲解谜向新作《The Office Que...
AirPods 无线耳机是一款非常棒的产品,但是有一个问题是,如果这款产品掉到一些你捡不...
安装适配应用之后,就能直接插入iPhone手机,拷照片、音乐、文章、高清视频了。
Woodsaka Uniq 保护壳是专门针对 iPhone 设计的,它采用木质制成,并且全手工打造。
这款产品由优质硅胶制成,其侧面的耳蜗固定设计能够将 AirPods 固定在用户的耳朵里。
第一批苹果 AirPods 抵达用户手中至今已经超过了 4 个月的时间,且大部分用户都给出了...
对于新款 12 英寸 MacBook 以及 Touch Bar 版 MacBook Pro 的用户来说,设备接口不足...
WOW Lens Case 是一款做工非常精致的保护壳产品,它能够为 iPhone 提供 4 个镜头。
这款保护壳目前已经通过了苹果的 MFi 认证,并且满足 Qi 无线充电标准。
关于MAC浏览器,下载不能续传问题,求助啊~~
注册时间 最后登录
在线时间1119 小时 UID
主题帖子人气
青苹果, 积分 191, 距离下一级还需 9 积分
我在威锋盘里,下载的蝙蝠侠,8G多啊。下载了十好几小时啊~(网速慢,没办法啊),就剩最后一小时了,。结果断了,再点击下载,就要重新下载,请问大侠们,safari不能断点续传吗?有办法补救吗?
注册时间 最后登录
在线时间1592 小时 UID
主题帖子人气
把下载地址复制到下载软件上下不就好了别干下那样断了就完蛋了
注册时间 最后登录
在线时间1119 小时 UID
主题帖子人气
注册时间 最后登录
在线时间386 小时 UID
主题帖子人气
Safari和IE一样吧,没有续传功能的。只能找第三方软件。
注册时间 最后登录
在线时间1862 小时 UID
主题帖子人气
注册时间 最后登录
在线时间436 小时 UID
主题帖子人气
请推荐一个第三方软件
注册时间 最后登录
在线时间2288 小时 UID
主题帖子人气
注册时间 最后登录
在线时间412 小时 UID
主题帖子人气
同求在mac上好用的支持断点续传的下载软件~~
注册时间 最后登录
在线时间1275 小时 UID
主题帖子人气
注册时间 最后登录
在线时间1119 小时 UID
主题帖子人气
FY们,大家有推荐的mac系统的,好用的下载工具吗,推荐个~~
威锋旗下产品
Hi~我是威威!
沪公网安备 29号 | 沪ICP备号-1
新三板上市公司威锋科技(836555)
增值电信业务经营许可证:
Powered by Discuz!前端在线资源
本文地址:
一、网盘割据的时代
不知大家有没有观察过,在秋季,也就是眼下这个时间,当阵风挂起的时候,地上的落叶就会以一个接一个,翻滚着一同被吹走,这就是“跟风”。老祖宗确实很有智慧,造出来的词语源于生活,又高于生活。
眼下,又是另一波跟风之势——“网盘”,犹如当年团购一样。不过,网盘还是有一定的技术和其他成本,因此,还不像团购那样“落叶漫天飞舞”的状态。但是,各大公司相继介入,可谓又是另外一场群雄之战。
我并不是专业的产品人,也不是公司的决策者,因此,面对一些纷杂繁芜的现象,自己无心去深入,也不会去评价。立志做个技术人,因此,我所关心的可能就是技术实现,至于孰对孰错,恩怨情仇,公关伎俩,生死天命等一概作云烟从眼前飘过。
网盘中有个很重要的,可以说是核心的功能,就是文件上传,So,本文就来说说这个上传,如何在HTTP协议下实现文件的断点续传呢?
二、文件断点续传的实现
目前从实用技术角度讲,文件上传的断点续传实现主要是借助客户端,例如,我们首次进入微云,会看到下图所示的“控件安装”提示:
百度网盘似乎有文件上传暂停的功能,这似乎是借助swfUpload实现的。
也就是,这些带续传功能的上传都不是使用HTTP协议实现的,也就是不是传统的网页技术(HTML+CSS+JS)实现的。
然,times are changing, 事物发展,时代变化。以前的一些所谓的“不能”、“不可能”都将成为过去。
上月一篇独苗文章介绍了XMLHttpRequest level 2(下简称Ajax 2.0)中的,如果稍微关注,应该知道,Ajax 2.0中最大的变化之一就是对二进制数据的支持,而且提供了一个可以直接处理二进制数据的方法——slice方法。
JS中的字符串有slice方法,数组也有。Ajax 2.0经过一些变化后,现在也和数组、字符串的slice方法语法完全一致了。于是,我们就可以把二进制数据流想象成一些连续的字符串数据,并对这些二进制数据进行slice处理。
比方说怎样的场合呢?
PHP默认似乎有个最大文件上传的限制 – post_max_size,我的本地看了下,是64M.
此时,我们想一次性传一个80M的动作片精华片段,就会以失败告终。
但是,有了slice方法,我们可以把文件分割,比方说,每20M作为一个请求发送出去,后台再把这些二进制数据拼合成一个完整文件。
slice(0, 20); slice(20, 40); slice(40, 60); slice(60)
还有一个很重要的场合就是断点续传!
文件传输是个具有时间周期的过程,从玩三国杀的离线率可以看出,掉线什么的是常有的事情。显然,传文件必定会存在传着传着就死在99%位置的情况。
你想啊,大鼻孔姐的片子想放到网盘里,随时随地可以欣赏。结果看着进度条等了40分钟,好不容易传到99%,突然断电…………开机后,发现又要重传,是不是小弟弟要气得短小软?显然,后果很严重哈~
因此,对于大文件而言,断电续传功能很重要。有了Blob数据格式的slice方法,一切都变得简单了。
我的思路是这样的,有两条:
1. 浏览器记住(如localStorage)最近一次成功传输的位置;当再次上传这个图片的时候,直接从浏览器存储的位置开始传。
2. 浏览器不做任何事情,在上传之前先去后台走一遍,看看目前此文件是否存在,以及存在的大小,返回给浏览器,然后浏览器再决定上传的起始位置。
理性的分析以及实践的结果表明,第二种思路可行性更高。//zxx: 并不一定是最好的思路,您可以自己想出更精彩的实践方法
如果用文字举例的话就是:
某老师的视频是80*B, 我们每次传B,也就是1M,假设传了79M了,结果大脚一抖,电源关掉有木有!某老师就这样随风逝去了……
用户重新开机,决定再次传这个80M的视频。当用户选择了这个文件后,我们先去后台走一圈,把当前已经传好的文件大小反馈给客户端(Ajax 1.0就可以),JS拿反馈大小和源文件大小一比对,奶奶的,残缺啊!于是,就从残缺位置slice,这里就是:
file.slice(79*)
接着之前的只传了1M就OK啦!于是,断点续传实现。
由于网页本身的局限性,我们没法直接触发本地文件的上传。因此,目前而言,断点文件还是要用户选择(相比客户端上传软件多了这一步)。
三、文件断点续传的实践
您可以狠狠地点击这里:
上demo可以说是一个比较完善的上传体验,有删除,重传,续传,进度条等常用功能。
基于Ajax 2.0的二进制文件传输实现,因此,IE10+,Chrome以及Firefox等浏览器支持。另外JS原生,无外部依赖。
空间的流量月月吃紧,经常溢出不够用,因此,为了节约成本,只允许最大200K的文件。所以,大家想要测试断点续传效果,可以通过工具,把自己的浏览器速度限制到10~20K每秒。
demo页面每100K就会对文件进行一次分割上传,因此,100~200K大小文件会有看到2次上传请求。PS:实际开发时候,应该至少1M一次分割。
为了直观表现断点上传的功能,我会截一个本地的视频给大家演示,并原声重现。
后台PHP很简单,就是追加二进制数据,file_put_contents方法有个FILE_APPEND选项,直接追加,很好用的!
正好研究了下开源协议,这里请容我练个:demo页面中的JS+CSS+HTML源代码遵循GPL协议,即您可以任意复制,修改,但是,只能作为学习或私人项目使用,不能作为商业软件的一部分去出售。如有疑问,可联系。
其他一些技术细节,懂的人不说也知道是怎么回事,不懂的人要花很大功夫斟酌表达才可以。然,目前时机不成熟,付出收益比略低,因此,这里不具体叙述,有问题欢迎邮箱联系。
目前线上demo貌似文件都无法上传成功,感觉可能和服务商的服务器设置有关,安全限制还是什么的,我也没深究,我本地是好的,可以秒传。大家不要太在意这个细节。
下面视频演示下断点续传的效果:
因为半夜三更录的视频,老婆大人已经安然就寝,所以自己声音比较小,发音也不太准,貌似被优酷搞糊了,大家凑合看看吧~~
四、说点题外话
上月本人只更新了一篇文章。有一周是整周的培训。然后除了研究现在这个Ajax断点续传,还在做一个自己的开源项目(已经用了两周了,本周应该可以结束)。
本人最近有在纠结专利与开源的事情。我司申请专利很是方便,而且公司鼓励,且对个人发展有很有帮助,我显然是要积极做这些事情的。但是,个人价值观中很重要的一点就是要留下什么,因此,自己是非常喜欢共享东西的。于是就存在一个矛盾,有些东西,例如一些创新的想法或者实现方式,如果成为的专利,就不好拿出来随意分享了,因为,自己申请的专利不是自己的而是公司的,自己完全没有把控权。头疼~~
不过,今天例会跟组里前辈沟通了下,算是想通了。这样子,自己平时业余时间研究的东西,即使很赞,很具有专利性,我也会及时和大家一起探讨与进步;如果是实际工作发现的创新性想法,则走专利路线,技术封闭。我举得这样的权衡应该是很不错的,不知大家的看法如何呢?
哈哈,今天特地研究了下开源版权的问题,学到了不少,各种License都大致了解了一点,文中好像就有体现了,
博客所有技术文章遵循CC协议,即署名、非商业性使用、相同方式共享、禁止演绎。
一些开源插件等遵循其他协议,回头补上~~
原创文章,转载请注明来自[]
本文地址:
(本篇完)
相关文章 (0.733) (0.476) (0.267) (0.210) (0.057) (0.057) (0.057) (0.057) (0.057) (0.057) (RANDOM - 0.057)
标签: , , , , , , ,
赞助商广告():
如果你月薪不足20K,不妨
这里有最全的web前端开发视频
如果你有1~3年前端开发经验,不妨
听说、你想学JS?不妨
热门总排行

我要回帖

更多关于 宝马gt是什么意思 的文章

 

随机推荐