七牛日常用户错误解决方案-不断更新中

Qiniu 七牛日常用户错误解决方案

1,用户返回403可能是用户文件限制了limitmime,所以会有上传被服务端禁止。

2,用户设置max-age=0只是对浏览器端不缓存,但是在cdn端还是有缓存的。

3,申请自定义域名可以cname到qiniudn.com上。也是可以用的,也可以屏蔽掉360的拦截。
4,qboxrsctl cdn/refresh ,…这个命令只能刷新自己的空间,刷新别人的空间会出现401 bad token
5,用户用bucket:key覆盖文件,但是在portal上还是原来的问题,是缓存的问题。加参数访问就可以了。
6,用户视频截取图片,是用的php的,不会成功,是因为接了saveas部分错误。Saveas接口没按照接口定义来实现。
7,跨域:http://ztest.qiniudn.com/crossdomain.xml 直接在那个空间的根目录上传crossdomain就可以了。
8,用户用工具上传了本地的不是jpg的文件到空间,然后同步到云端是个裂图,但是mimtype显示是jpeg。用户以为是有错误。
9,使用qrsync等工具上传文件,如果文件大小,位置有变化,都会重新上传的,也就是key有变化。
10,在客户端的程序中QiniuUploadDelegate这个函数是来记录断点的。
11,改动前缀不会重复上传的qrsync工具。
12,ios终止上传:typedef BOOL (^QNUpCancellationSignal)(void);
13,curl -v -F ‘key=youkey’ -F ‘token=yourtoken’ -F “file=@yourfilepath” up.qiniu.com
用curl上传文件。
14,监控手机bput请求返回速度问题。http://www.charlesproxy.com/。测试是否发送批量请求导致上传慢.
15,cdn日志,跟我们在portal上汇总的日志是有区别的。
17,短视频建议用MP4,不建议用hls(m3u8).美拍用的是mp4.
18,callbackurl,客户端上传信息如何获取回调的信息。客户端可以上传文件,callback到客户appserver,然后由appserver response就可以传送到客户端。具体流程是:
可以返回给客户端,回调请求post到你的url上,你接收后,resonse给我们的服务器,我们直接将信息转发给你的客户端,这都是我们云端做了,你只需要response一下就可以了。
19,使用七牛云存储提供的 qboxrsctl 命令行工具,强制让 CDN 上的该缓存失效:

qboxrsctl login

qboxrsctl cdn/refresh ,…

使用我们的管理后台https://portal.qiniu.com/ => 选择一个空间 => 空间设置 => 高级设置 => 缓存刷新

你尝试清除一下
20,用户的图片png转成format成jpg会有黑边。根源在于从透明渐变色的png转jpg

21,如果一个block已经完全传完了,多久会过期呢? 一周会过期。

24,js的作者,js断点续传获取图片的大小,sdk中选择上传是直传还是断点续传,断点续传像图片的长和宽等信息是后去不到的,不管是回调还是返回信息。
25,QiniuJsSDK中的qiniu.js中,第389行,blockSize = file.size - localFileInfo.ctx;
localFileInfo.ctx取出来不是整型,所以就出现了这样的请求地址,http://upload.qiniu.com/mkblk/NaN?name=o_198ujsvq71na8f9o1tvabgs10drl.jpg&chunk=2&chunks=3
问题是这个是老版本的问题,更新下版本就可以了。
26,新调整的图片处理,用户进行缩略,但是用户exif信息不对,造成缩略后对exif检查后变成横图。
27,用户进行imageview操作的时候会遇到检测exif信息,如果有旋转,则会返回旋转图片。改进方法。
http://marry.qiniudn.com/o_198pf52es1rge1ssg1ucuaop5ha6v.jpg?imageMogr2/strip|imageMogr2/thumbnail/420x ,前面我们是做了另外一件事情,就是不参考exif,这条命令看是否能满足你们的需求

29,用户的app软件下载变成了下载淘宝app,可能是被dns劫持了,得用tcpdump 抓包 看下情况,不过更有可能是客户自己的问题。
30,设置了insertonly参数和scope结合使用,如果用户空间已经有文件存在,则会返回file exist,如果上传的key跟scope不匹配,那么会返回{“error”:”key doesn’t match with scope”}
31,用户视频加关键帧播放,由于客户的请求range每次都不一样,等于每次都没有缓存,所以拖拽会很卡。应该切换到点播平台。
32,私有资源的缩略图,要对url?Image整个请求字符串进行签名。
33,用我们的工具上传,相同文件名,不同的内容,会进行重复上传。对大小和hash有判断。
34,put doc/201403/1d6c17a7b9274be69ca6594078ee48db.jpg 12310 13945047840000000 P0gAAAAAAQCiXCkU
35,获取远程流,put方法中java中的put有一个带length的方法,是获取远程流,其他的sdk中例如c#已经不支持,尽量让客户进行先将远程流变为本地流。如果远程流上传可能会有文件大小不一致,或者0字节的文件生成。
36,404资源在cdn和浏览器现在都不做缓存的。所以说应该与缓存没有多大关系。 下次加载404的时候,看下浏览器返回的状态码,是200还是404 。
37,http://mdpic.qiniudn.com/errno-404。在我们七牛设置的404页面地址。
38,子账户申请。
http://developer.qiniu.com/docs/v6/api/reference/acc/index.html。
40,imageView2会先处理orientation参数,再做缩放处理,imageMogr2不会。
41,客户需要对m3u8进行加密,然后用jwplayer进行带秘钥进行访问。
42,用户拖拽播放很卡的情况,虽然切换到点播平台,但是问题仍然没有解决。
43,当磁盘的灯不闪烁或者不亮的时候,可能是磁盘盒子坏了。
44,当遇到没有分区的时候,也可能是磁盘还没有格式化成gpt格式,需要先格式化成一块有数据表的磁盘。
45,检查cdn与源站的文件是否相同,可以去看下文件的etag,通常查看的方法可以是通过命令行的方法,也可以用带参数访问,内网穿透。
46,优先用qiniudn.com 的域名
clouddn.com 是给体验用户用的,容易被污染
47,子账户主要是用来独立计费的,不同项目建议试用不同的空间。
48,url转义,就是对url进行百分号编码,转化成%12,%28等的符号来替换。
49,js sdk,分块最大4M。
50,http://7sbyi2.com2.z0.glb.qiniucdn.com/combo?3.10.1/attribute-core/attribute-core-min.js&3.10.1/attribute-observable/attribute-observable-min.js
用户设置镜像一次拉取多个js文件过来,显然我们不支持这种url的拉取规则。
51,文档的saveas接口与其他接口的关系,在文档中太独立,很多客户会以为是单独使用,其实是可以和别的接口拼接使用的。所以文档的关联性不是很好。
52,ios sdk目前只使用了异步上传 。
53,请问php怎么获取http://qiniuphotos.qiniudn.com/gogopher.jpg?imageInfo中的json数据并输出
$arr = json_decode(file_get_contents(“http://qiniuphotos.qiniudn.com/gogopher.jpg?imageInfo”),true);
echo $arr[‘width’];
54,图像质量1-100是按什么划分的?我本来300k大小的图,把质量设置成70,怎么只剩10k不到了?现在已经下线了。不让用了。因为压缩做的不好。
55,403和502,403是防盗链问题,502直接找网宿。502是bad gatway
56,防止视频被别人下载,用我们的防盗链和私有空间都不行,只能通过加密的方式,比如对视频的切片进行加密。然后用专门能带ak访问的播放器才能实现此功能。
57,迁移方案。http://kb.qiniu.com/56nkjpg2
58,//abc.txt,类似这种key,前面多了一个/,我们要建议客户去掉,因为这样可能导致302跳转一次,才能访问,跳转到/abc.txt,去访问。
59,nodejs sdk的imageView还是用的之前的老接口,建议更换。url += ‘?imageView/’ + this.mode;
60,reqid有16个字符。
61,图片处理做了20M的限制,大于20M,要用触发持久化进行操作。
62,jpg转成svg可以,但是svg不能转成jpg和pdf。
63,修改文档文本水印的字体问题,添加了链接。
64,添加了文本水印字体颜色填充没有写明base64编码的问题。
65,我们这里支持断点下载,支持带rang请求,没有demao,需要客户自己完成。
66,UploadOptions 回调的上传进度 progress 怎么只有0.95和1.0呢 而且0.95回调了5次。是因为上传失败,内部进行了重试。
67,https://github.com/jemygraw/qiniu-lab-php/tree/master/demos/api, php 的demao,
http://localtunnel.qiniu.io:9090/demos/api/
68,有客户反映C#的的sdk在winform端,String 引用没有设置为 String 的实例。其实问题就是你的ak,sk没有赋值,你可以在配置文件中写死。这样就ok了。
69,echo -n “{“scope”:”img720utest”,”deadline”:1420361179}” |base64,这样是对她进行base64编码。
解码:
base6 -d <<< eyJzY29wZSI6ImltZzcyMHV0ZXN0IiwiZGVhZGxpbmUiOjE0MjAzNjExNzl9

70,QDIb-wsr7oJlgx8VFtGhGw-vzU0Zu36UlGUmGkAD:8c7qrzLVQqwAevFUKEz6+i52grg=:eyJzY29wZSI6ImltZzcyMHV0ZXN0IiwiZGVhZGxpbmUiOjE0MjAzNjExNzl9
用户的token错误主要是+和—没有做替换。用户自己写的sdk存在这个问题。
71,js sdk 上传文件,断点续传,获取不到fname,用自定义变量,然后在mkfile中加参数值:/x:user-var/
72,
73,文件访问的时候只能加载半张图片,网络没有问题,图片没有问题,加参数访问也不行。网宿回复应该是链路上有点波动,当时的环境很难重现。
74,用户用未备案的域名做镜像,会导致拉取过来阿里未备案的那个图片。如果遇到,可准确判断。
75,发现全部的格式都是可以互相转换的,avthumb/flv/ar/44100,例如这个fop操作,你的格式转换不了,是因为部分视频的音频采样率不同,所以转码时候要加上采样率。具体的采样率可以参照我们的默认参数列表,就是上面的表格中。音频转码和采样率是同是进行的。
76,403 key doesn’t match with scope是怎么解决,token中指定的key和客户端上传的key不一致,导致的。
77上传接口有调用频率限制吗?
现在每次调用都会超时,我本地同样的代码,和第二个服务器上是正常上传的….
有1个服务器上上传总是超时.
是把我的ip封了吗? 是因为你用了一个内网,上传带宽被一个服务器给占用了。
78,测试文件不能访问,或者加载一半。要询问对方链接地址,网络环境:电信或者联通,地区:山东,上海。
79,{“error”:”The original image abnormal”}是因为图片不完整,造成我们的程序识别不了破图,无法进行操作。例如缩放等。
80,{“error”:”this fop is blocked, please use pfop service.”},pfop用作fop操作,用户不理解同步跟异步操作。
81,https://portal.qiniu.com/bucket/liuhanlin-work/files?marker=&limit=169&prefix=haoxiang.jpg可以直接访问我们的资源详细信息。
82,pfop和fop操作,这两个参数在文档中的命名让读者很难理解。
83,用户ping起来很慢338ms,你可以查看ip,查看地区,应该客户用了dns为8.8.8.8,修改为自动就好。
84,HTTP status code 579 => Qiniu::HTTP.post(‘http://upload.qiniu.com/upload‘)
Qiniu::UploadFailedError: Uploading Failed. HTTP Status Code: 579. HTTP response body: :error => {“callback_url”:”http://42.121.79.210/sound2s/callback“,”callback_bodyType”:”application/x-www-form-urlencoded”,”callback_body”:”sec=3\u0026from=507f6bf3421aa93f40000005\u0026to=502e6303421aa918ba000001\u0026id=1421310916\u0026key=FgaFYWcGt7w4f60v4NG2DB8zKSNV\u0026size=691”,”token”:”“,”err_code”:500,”error”:”Do request error”}.
看到中间的500错误,是客户服务端的错误,我们负责将上述错误返回给客户端。
85,403,也可能是体验用户会报这样的错误,限制上传apk等文件。
86,{“error”:”token out of date”},token过期。
87,用户在上传时候,除了ios能指定option中的mimetype之外,其他的sdk如果不能识别的类型,是会变为application/octet-stream,
Ios中如果想要指定这个类型,就必须在mimetype中写上。否则会出现大的文件可以,小的文件类型仍然为octet—stream

基于 MIT 协议发布:

  • www.opensource.org/licenses/MIT

你可能感兴趣的:(七牛日常用户错误解决方案-不断更新中)