1.软文推荐

2.软文推荐

3.软文推荐

目录: 1、七牛云为什么免费 2、七牛云海外存储不备案可以用在小程序上吗 3、我为什么最终选择了七牛云存储 4、关于七牛云存储自定义URL的问题 5、国内免费CDN加速有哪些?哪个最好? 6、七牛云测试域名有使用限制吗? 七牛云为什么免费

1、七牛云对象存储服务的实名认证用户,每月可享受一定量的标准存储免费存储空间、标准存储免费CDN回源流量和标准存储免费请求数目。

2、开通七牛云智能多媒体服务的标准用户,每月可享受一定量的免费额度。每月计费时,会先抵扣免费额度,超出部分按价格付费结算。

七牛云海外存储不备案可以用在小程序上吗

七牛云海外存储不备案不可以用在小程序上。根据相关法律法规,使用大陆的服务器是肯定需要进行icp备案的。服务器又在国内的话,要想正常使用服务,要备案才行。服务器在国外不需要。但域名必须是备过案的,全站必须https。小程序是一种不需要下载安装即可使用的应用,小程序实现了应用触手可及的梦想,用户扫一扫或者搜一下即可打开应用。也体现了用完即走的理念,用户不用关心是否安装太多应用的问题。应用将无处不在,随时可用,但又无需安装卸载。

我为什么最终选择了七牛云存储

说实话,当初在用又拍云的时候,遇到了一些麻烦,因为我一开始不知道该怎么操作,其操作界面不是很人性化,弄了半天才弄明白怎么样新建一个空间,新建空间之后,还需要用 FTP 软件来管理这个空间的内容,在 Mac 上找到一个靠谱的FTP 管理工具并不容易,我试用了FileZilla 这个软件,使用和配置 FTP 又花了我不少功夫。

反观七牛则是一目了然,从新建空间、配置空间、上传文件、获取外链,全部都是在网页中可以完成简易的可视化操作:

在管理后台,无论是使用还是统计都是一目了然:

以我上传一张照片并获取外链供博客使用为例,比较一下又拍云和七牛云的流程:

又拍云

1.打开并登录 FTP 工具;

2.上传图片;

3.复制图片名

4.在博客管理后台输入外链路径+图片名(这一点最为麻烦,每次都需要手动输入一长串链接地址)

七牛云

1.直接在网页管理后台上传图片(这个界面很友好,和 wordpress 的图片上传界面类似)

2.直接获取复制完整外链即可(注意右侧的图片预览功能,这个对于图片多了之后防止误操作很是实用)

相比之下,显然是七牛云在操作使用上更加简便易行。

可视化图片处理设置

在数据处理环节,七牛云也比较方便,比如我的博客图片宽度不能超过550px,否则会撑破主题,并且想加上一个@望月的水印,那么就可以在数据处理界面进行设置。

这样,就不用在博客后台每次添加图片之后都去重新调整一下大小,也不用使用图片修改软件去添加水印之类的了。

免费的使用空间和流量

对于新用户,七牛云存储免费赠送10G 的使用空间+10G/月的流量,对于小博客来说,是完全够用了,推荐朋友还可以免费获取空间,如果你有需要,可以通过我的推荐链接注册七牛,也可以帮我增加一些免费空间和流量,谢谢。

同时,通过36Kr 的活动页面,还可以获取800元的代金券和85折的协议价进行续费充值。

即使是流量、存储空间和数据请求超出,七牛的价格也相对便宜。

一键加速功能

除此之外,还很是喜欢七牛云的一键加速网站功能,也就是镜像存储,源站资源(文件/图片等)根据初次访问自动同步到七牛云存储,数据平滑迁移。可使用绑定的自定义域名访问镜像存储的源站资源。格式:http://绑定域名/源站资源相对路径。

还可以配合使用七牛镜像存储 WordPress 插件一键实现 WordPress 博客静态文件 CDN 加速。

其实,七牛云在图片存储和使用方面的便捷就足够打动我了,综合来说,七牛云存储设计更加人性化、操作更加简便,价格更加适中,无论是对于博客用户还是开发者用户,都是个不错的选择。关于七牛云存储自定义URL的问题

近段时间将使用七牛云存储来存放用户上传的数据,客户端通过七牛的js-sdk与七牛交互,服务端C#实现了七牛相关的接口。在这过程中多多少少遇到点问题,在这里总结一下。原文: 使用七牛云存储的一些经验总结

599错误处理

如果在与七牛的交互中出现http状态码为599的错误,一句话,不要犹豫,直接联系七牛技术支持 。七牛的文档也在很多地方提到这个错误,都是指导大家去联系技术支持的。笔者是在分块上传后的 mkfile 调用时出现的,联系技术支持后,说是调整了一下,让我重试。后来就好了...

分块上传无法从回调中获得文件的原始名

简单上传采用的是multipart/form-data方式上传,七牛服务端能够从请求中获得文件的原始名,并支持使用魔法变量 $(fname) 回调业务服务器。不过当使用分片上传的时候情况有所不同。分片上传需要在最后调用 mkfile ,来将分片拼接起来。但是, mkfile 接口支持普通的请求,并没有附带文件名,所以七牛也就无法获得文件名,此时从 $(fname) 中是取不到文件名的。这个问题我也向七牛技术支持提交了问题,得到的结果是使用自定义变量 mkfile 支持将自定义变量放在url中,回调的时候自定义变量可以传递给业务服务器。

慎用图片预处理

七牛云支持很多对文件的预处理,其中最常用的应该就是图片预处理了,可以对图片的大小做变换等。七牛推荐使用GET的方式直接指定图片处理结果的url,像这样:

处理后的图片会自动缓存,用户不用关心,只要每次访问都用这个url就行了。然而,笔者在开始的时候,为了保持与其他文件形式统一的处理方法,对图片使用了预处理(因为视频什么的只能预处理),即在token中指定了预处理。此时问题出现了,从后台的日志看到,图片的预处理通知回调竟然比正常的上传成功回调还要快!这就导致预处理结果到来之前,我的业务服务器的数据库中还没有这个图片,无法保存预处理结果了。所以 推荐还是使用url直接处理,对图片要慎用预处理

视频文件无法快进播放

通常用户在观看视频的时候都会根据自己的喜好,快速将视频定位到指定的时间播放。实现这个功能,需要视频本身有关键帧信息、服务端需要支持关键帧播放请求,在 这篇文章 中有详细讨论。

但是笔者发现,在使用七牛云转化后的视频,这样做是无效的。于是咨询技术支持,得到的答案是:转化的文件是具有关键帧的,但七牛使用CDN加速,所以关键帧请求需要CDN的支持,如果想要用这个功能的话,需要单独联系销售或技术支持在CDN上配置,而且时间比较长。笔者联系了销售和技术支持,说是帮我配置,但到现在还没有搞定,因为最近这个也不是特别重要,所以也没有跟下去。

Callback校验

这是可选的一个步骤。由于七牛云会在上传完成之后回调业务服务器,所以理论上说业务服务器需要校验这个回调的合理性。原理在七牛的 文档 中有,需要用到 HMAC-SHA1 签名函数。但是七牛的sdk中没有提供直接的方式来做校验,在研读文档、多次失败和查看sdk源码后,笔者终于校验成功了。关键的分歧在于,文档中的这句话:

获取明文:data = Request.URL.Path +” ” +Request.Body

这里的 Request.URL.Path 是否包含Querystring?答案是包含的!下面是笔者C#服务端的校验代码,使用的是ASP.NET Web Api:

```C#

byte[] key = System.Text.Encoding.UTF8.GetBytes(Qiniu.Conf.Config.SECRET_KEY);

using (HMACSHA1 hmac = new HMACSHA1(key))

{

var t = filterContext.Request.Content.ReadAsStringAsync();

t.Wait();

string rawbody = t.Result;

log.DebugFormat("request's rawbody : {0}", rawbody);

string text = filterContext.Request.RequestUri.PathAndQuery + " " + rawbody;

log.DebugFormat("PathAndQuery + + rawbody : {0}", text);

byte[] digest = hmac.ComputeHash(System.Text.Encoding.UTF8.GetBytes(text));

string computed = Qiniu.Util.Base64URLSafe.Encode(digest);

log.DebugFormat("Computed hash after base64 : {0}", computed);

IEnumerablestring auths;

if (filterContext.Request.Headers.TryGetValues("Authorization", out auths) auths.Count() == 1)

{

string auth = auths.First();

log.DebugFormat("Authorization in header : {0}", auth);

if (auth.StartsWith("QBox "))

{

var arr = auth.Substring(5).Split(':');

if (arr.Length == 2)

{

if (arr[1] != computed)

{

log.ErrorFormat("Authorization failed. Since auth from header {0} not equals computed {1}", arr[1], computed);

}

else

{

log.Debug("Authorization success.");

//only pass can be return

return;

}

}

else

{

log.Error("Callback Authorization's format is invalid, can not find two part after split by ':'.");

}

}

else

{

log.Error("Callback Authorization's format is invalid, missing leading 'QBox '.");

}

}

else

{

log.Error("The request from qiniu callback is missing 'Authorization'");

}

filterContext.Response = filterContext.Request.CreateResponse(System.Net.HttpStatusCode.Forbidden);

}

如下几个注意点:

- 明文应当是请求的path+querystring部分和rawbody

- 对于.NET而言,明文和key都需要用UTF-8编码变换成字节才能进行签名。而php中的hash_hmac函数完全不用这么复杂...

- 签名的结果再用base64的url安全的方式编码,再与请求的http头部的Authorization比较

建议官方在文档中加入一些相对底层一些的编程语言的实现,php太高端了...

## js-sdk实现略显粗糙 ##

在使用过程中,我发现[官方的js-sdk]()有几个我觉得不好的地方:

**不能为每个文件获取UpToken**

试想,在文件上传过程中有获取UpToken是必须的,而且UpToken又需要包含预处理指令,不同的文件显然需要不同的UpToken,而在js-sdk的实现中,只在初始化这个上传组件对象的时候请求一次上传凭证,后面所有的上传都需要使用这个预先得到的UpToken:

```javascript

uploader.bind('Init', function(up, params) {

getUpToken();

});

于是我修改了这部分,在 BeforeUpload 事件中请求UpToken。建议官方考虑更改这个地方

只能实现分片上传,无法断点续传

js-sdk的实现在分片上传的实现上,是很简单的,不仅没有使用分片,而是分块(一块4m,调用mkblk),而且没有实现持久化ctx,或者类似的回调或接口。4m分块这个问题还可以不追究,没有实现持久化ctx就说不过去了,不持久化怎么实现断点续传撒?!就算不实现,也应该给出回调的入口,让调用者来实现持久化,而我实在无法找到这个'空子'可钻,只能直接在源码上改动了。

没有复用流行类库的东西

这个其实算不上问题,因为作为一个不依赖jquery的sdk,当然不能使用jquery现成的东西,比如ajax。不依赖jquery就算了,依赖plupload是几个意思嘛,还依赖全局对象...于是最后,我干脆自己将sdk改成了Backbone的类,将不要的东西统统去掉,使用jquery和underscore简化代码了...

国内免费CDN加速有哪些?哪个最好?

国内的就 百度云加速、360cdn这些免费的,但是国内的免费cdn都需要备案

如果只需要加速静态文件,可以用七牛云

国外的可以用比较多而且不需要备案,Incapsula,Kloudsec,CloudFlare这些不错,特别是Incapsula还可以用日本和香港的节点。Kloudsec可以用新加坡节点。

七牛云测试域名有使用限制吗?

七牛云的测试域名有使用限制的,不得使用测试域名存储、发布、传播违法违规内容,自2018年7月18日起新产生的测试域名,禁止下载移动应用程序(apk,ipa等),需要绑定自定义域名进行访问。测试域名无论新老测试域名每个自然日限总流量10GB,当日测试流量达到10GB上限后,禁止继续访问。七牛云的开发者联盟都有使用规范,测试域名之前可以去看看做详细了解。

相关文章 8

1

培训课程标题怎么优化(如何对标题进行优化和调整) 42秒前

目录:1、培训机构如何通过优化课程设置创造生源2、怎么优化标题?????3、北大青鸟设计培训:seo角度文章标题的撰写方法?4、如何...

2

kiwivm面板(kvm bios) 3分钟前

目录:1、有什么办法能够在线搭建一个服务器?有什么办法能够在线搭建一个服务器? 伴随互联网的快速发展,网站建设的成本越来越低,...

3

包含vmshell优惠码的词条 4分钟前

目录:...

4

鹅云(鹅云泄露) 5分钟前

目录:1、飞鹅云怎么查看连了几个平台2、小鹅云课签到有3个号怎么删除两个3、小鹅云课怎么用4、一只鹅上面有云成语5、怎么下载捣蛋云...

5

centos查看cpu命令(centos查看CPU) 6分钟前

目录:1、centos查看cpu使用率2、centos系统命令使用-top3、CentOS下怎么查看系统的CPU信息centos查看cpu使用率 centos7查看CPU的利用率 top 的全屏对话...

6

便宜香港虚拟主机(便宜香港虚拟主机推荐) 6分钟前

目录:1、景安的香港虚拟主机好吗?2、香港虚拟主机 月付欣诚的算便宜么?3、用香港虚拟主机有什么优势?4、香港服务器哪个好?有没有...

7

长尾关键词内容优化要点(长尾关键词优化软件) 9分钟前

目录:1、长尾关键词怎么优化2、SEO优化|如何优化长尾关键词3、如何优化长尾关键词长尾关键词怎么优化 一、长尾关键词挖掘 挖掘长尾关...

8

低价云服务器(低价云服务器推荐) 11分钟前

目录:1、云服务器去哪买便宜2、哪种云服务器便宜3、便宜云服务器选择哪家?4、那个云服务器便宜好用5、云服务器 谁家的便宜6、购买云...