婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識(shí)庫 > 七牛云存儲(chǔ)使用中一些常見問題的解決經(jīng)驗(yàn)

七牛云存儲(chǔ)使用中一些常見問題的解決經(jīng)驗(yàn)

熱門標(biāo)簽:搜地圖標(biāo)注怎么找店鋪 勝威電話外呼系統(tǒng)密碼 個(gè)人家庭地圖標(biāo)注教程 七臺(tái)河商家地圖標(biāo)注注冊(cè) 威海語音外呼系統(tǒng)廠家 廣安電銷外呼系統(tǒng) 百度地圖標(biāo)注不能編輯 徐州穩(wěn)定外呼系統(tǒng)代理商 百度高德騰訊地圖標(biāo)注公司

599錯(cuò)誤處理
如果在與七牛的交互中出現(xiàn)http狀態(tài)碼為599的錯(cuò)誤,一句話,不要猶豫,直接聯(lián)系七牛技術(shù)支持。七牛的文檔也在很多地方提到這個(gè)錯(cuò)誤,都是指導(dǎo)大家去聯(lián)系技術(shù)支持的。筆者是在分塊上傳后的mkfile調(diào)用時(shí)出現(xiàn)的,聯(lián)系技術(shù)支持后,說是調(diào)整了一下,讓我重試。后來就好了…

分塊上傳無法從回調(diào)中獲得文件的原始名
簡(jiǎn)單上傳采用的是multipart/form-data方式上傳,七牛服務(wù)端能夠從請(qǐng)求中獲得文件的原始名,并支持使用魔法變量$(fname)回調(diào)業(yè)務(wù)服務(wù)器。不過當(dāng)使用分片上傳的時(shí)候情況有所不同。分片上傳需要在最后調(diào)用mkfile,來將分片拼接起來。但是,mkfile接口支持普通的請(qǐng)求,并沒有附帶文件名,所以七牛也就無法獲得文件名,此時(shí)從$(fname)中是取不到文件名的。這個(gè)問題我也向七牛技術(shù)支持提交了問題,得到的結(jié)果是使用自定義變量mkfile支持將自定義變量放在url中,回調(diào)的時(shí)候自定義變量可以傳遞給業(yè)務(wù)服務(wù)器。

慎用圖片預(yù)處理
七牛云支持很多對(duì)文件的預(yù)處理,其中最常用的應(yīng)該就是圖片預(yù)處理了,可以對(duì)圖片的大小做變換等。七牛推薦使用GET的方式直接指定圖片處理結(jié)果的url,像這樣:

http://qiniuphotos.qiniudn.com/gogopher.jpg?imageView2/1/w/200/h/200
處理后的圖片會(huì)自動(dòng)緩存,用戶不用關(guān)心,只要每次訪問都用這個(gè)url就行了。然而,筆者在開始的時(shí)候,為了保持與其他文件形式統(tǒng)一的處理方法,對(duì)圖片使用了預(yù)處理(因?yàn)橐曨l什么的只能預(yù)處理),即在token中指定了預(yù)處理。此時(shí)問題出現(xiàn)了,從后臺(tái)的日志看到,圖片的預(yù)處理通知回調(diào)竟然比正常的上傳成功回調(diào)還要快!這就導(dǎo)致預(yù)處理結(jié)果到來之前,我的業(yè)務(wù)服務(wù)器的數(shù)據(jù)庫中還沒有這個(gè)圖片,無法保存預(yù)處理結(jié)果了。所以推薦還是使用url直接處理,對(duì)圖片要慎用預(yù)處理

視頻文件無法快進(jìn)播放
通常用戶在觀看視頻的時(shí)候都會(huì)根據(jù)自己的喜好,快速將視頻定位到指定的時(shí)間播放。實(shí)現(xiàn)這個(gè)功能,需要視頻本身有關(guān)鍵幀信息、服務(wù)端需要支持關(guān)鍵幀播放請(qǐng)求。

但是筆者發(fā)現(xiàn),在使用七牛云轉(zhuǎn)化后的視頻,這樣做是無效的。于是咨詢技術(shù)支持,得到的答案是:轉(zhuǎn)化的文件是具有關(guān)鍵幀的,但七牛使用CDN加速,所以關(guān)鍵幀請(qǐng)求需要CDN的支持,如果想要用這個(gè)功能的話,需要單獨(dú)聯(lián)系銷售或技術(shù)支持在CDN上配置,而且時(shí)間比較長。筆者聯(lián)系了銷售和技術(shù)支持,說是幫我配置,但到現(xiàn)在還沒有搞定,因?yàn)樽罱@個(gè)也不是特別重要,所以也沒有跟下去。

Callback校驗(yàn)
這是可選的一個(gè)步驟。由于七牛云會(huì)在上傳完成之后回調(diào)業(yè)務(wù)服務(wù)器,所以理論上說業(yè)務(wù)服務(wù)器需要校驗(yàn)這個(gè)回調(diào)的合理性。原理在七牛的文檔中有,需要用到HMAC-SHA1簽名函數(shù)。但是七牛的sdk中沒有提供直接的方式來做校驗(yàn),在研讀文檔、多次失敗和查看sdk源碼后,筆者終于校驗(yàn)成功了。關(guān)鍵的分歧在于,文檔中的這句話:

獲取明文:data = Request.URL.Path +”\n” +Request.Body
這里的Request.URL.Path是否包含Querystring?答案是包含的!下面是筆者C#服務(wù)端的校驗(yàn)代碼,使用的是ASP.NET Web Api:

C# Code復(fù)制內(nèi)容到剪貼板
  1. byte[] key = System.Text.Encoding.UTF8.GetBytes(Qiniu.Conf.Config.SECRET_KEY);   
  2. using (HMACSHA1 hmac = new HMACSHA1(key))   
  3. {   
  4.     var t = filterContext.Request.Content.ReadAsStringAsync();   
  5.     t.Wait();   
  6.     string rawbody = t.Result;   
  7.     log.DebugFormat("request's rawbody : {0}", rawbody);   
  8.     string text = filterContext.Request.RequestUri.PathAndQuery + "\n" + rawbody;   
  9.     log.DebugFormat("PathAndQuery + \\n + rawbody : {0}", text);   
  10.     byte[] digest = hmac.ComputeHash(System.Text.Encoding.UTF8.GetBytes(text));   
  11.     string computed = Qiniu.Util.Base64URLSafe.Encode(digest);   
  12.     log.DebugFormat("Computed hash after base64 : {0}", computed);   
  13.   
  14.     IEnumerablestring> auths;   
  15.     if (filterContext.Request.Headers.TryGetValues("Authorization"out auths)  auths.Count() == 1)   
  16.     {   
  17.         string auth = auths.First();   
  18.         log.DebugFormat("Authorization in header : {0}", auth);   
  19.         if (auth.StartsWith("QBox "))   
  20.         {   
  21.             var arr = auth.Substring(5).Split(':');  
  22.             if (arr.Length == 2)  
  23.             {  
  24.                 if (arr[1] != computed)  
  25.                 {  
  26.                     log.ErrorFormat("Authorization failed. Since auth from header {0} not equals computed {1}", arr[1], computed);  
  27.                 }  
  28.                 else  
  29.                 {  
  30.                     log.Debug("Authorization success.");  
  31.                     //only pass can be return  
  32.                     return;  
  33.                 }  
  34.             }  
  35.             else  
  36.             {  
  37.                 log.Error("Callback Authorization's format is invalid, can not find two part after split by ':'.");   
  38.             }   
  39.         }   
  40.         else  
  41.         {   
  42.             log.Error("Callback Authorization's format is invalid, missing leading 'QBox '.");   
  43.         }   
  44.     }   
  45.     else  
  46.     {   
  47.         log.Error("The request from qiniu callback is missing 'Authorization'");   
  48.     }   
  49.   
  50.     filterContext.Response = filterContext.Request.CreateResponse(System.Net.HttpStatusCode.Forbidden);   
  51.   
  52. }  

如下幾個(gè)注意點(diǎn):

明文應(yīng)當(dāng)是請(qǐng)求的path+querystring部分和rawbody
對(duì)于.NET而言,明文和key都需要用UTF-8編碼變換成字節(jié)才能進(jìn)行簽名。而php中的hash_hmac函數(shù)完全不用這么復(fù)雜…
簽名的結(jié)果再用base64的url安全的方式編碼,再與請(qǐng)求的http頭部的Authorization比較
建議官方在文檔中加入一些相對(duì)底層一些的編程語言的實(shí)現(xiàn),php太高端了…

js-sdk實(shí)現(xiàn)略顯粗糙
在使用過程中,我發(fā)現(xiàn)官方的js-sdk有幾個(gè)我覺得不好的地方:

不能為每個(gè)文件獲取UpToken

試想,在文件上傳過程中有獲取UpToken是必須的,而且UpToken又需要包含預(yù)處理指令,不同的文件顯然需要不同的UpToken,而在js-sdk的實(shí)現(xiàn)中,只在初始化這個(gè)上傳組件對(duì)象的時(shí)候請(qǐng)求一次上傳憑證,后面所有的上傳都需要使用這個(gè)預(yù)先得到的UpToken:

JavaScript Code復(fù)制內(nèi)容到剪貼板
  1. uploader.bind('Init'function(up, params) {      
  2.     getUpToken();      
  3. });     
于是我修改了這部分,在BeforeUpload事件中請(qǐng)求UpToken。建議官方考慮更改這個(gè)地方

只能實(shí)現(xiàn)分片上傳,無法斷點(diǎn)續(xù)傳

js-sdk的實(shí)現(xiàn)在分片上傳的實(shí)現(xiàn)上,是很簡(jiǎn)單的,不僅沒有使用分片,而是分塊(一塊4m,調(diào)用mkblk),而且沒有實(shí)現(xiàn)持久化ctx,或者類似的回調(diào)或接口。4m分塊這個(gè)問題還可以不追究,沒有實(shí)現(xiàn)持久化ctx就說不過去了,不持久化怎么實(shí)現(xiàn)斷點(diǎn)續(xù)傳撒?!就算不實(shí)現(xiàn),也應(yīng)該給出回調(diào)的入口,讓調(diào)用者來實(shí)現(xiàn)持久化,而我實(shí)在無法找到這個(gè)’空子’可鉆,只能直接在源碼上改動(dòng)了。

沒有復(fù)用流行類庫的東西

這個(gè)其實(shí)算不上問題,因?yàn)樽鳛橐粋€(gè)不依賴jquery的sdk,當(dāng)然不能使用jquery現(xiàn)成的東西,比如ajax。不依賴jquery就算了,依賴plupload是幾個(gè)意思嘛,還依賴全局對(duì)象…于是最后,我干脆自己將sdk改成了Backbone的類,將不要的東西統(tǒng)統(tǒng)去掉,使用jquery和underscore簡(jiǎn)化代碼了…

標(biāo)簽:昭通 三明 云浮 臨沂 威海 滁州 婁底 吳忠

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《七牛云存儲(chǔ)使用中一些常見問題的解決經(jīng)驗(yàn)》,本文關(guān)鍵詞  七牛,云,存儲(chǔ),使用,中,一些,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《七牛云存儲(chǔ)使用中一些常見問題的解決經(jīng)驗(yàn)》相關(guān)的同類信息!
  • 本頁收集關(guān)于七牛云存儲(chǔ)使用中一些常見問題的解決經(jīng)驗(yàn)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    欧美精品在欧美一区二区少妇| 视频在线观看91| 国产91精品在线观看| 久久久美女毛片| 国产福利91精品| 中文字幕日韩一区二区| 91污片在线观看| 亚洲二区视频在线| 欧美一区二区黄| 久久99精品久久久久久久久久久久 | 7777精品伊人久久久大香线蕉的| 三级久久三级久久| 久久久一区二区| 一本大道av伊人久久综合| 亚洲国产成人av好男人在线观看| 欧美大片拔萝卜| proumb性欧美在线观看| 亚洲精品中文字幕乱码三区| 欧美一区二区三区系列电影| 国产一区二区久久| 一区二区三区四区亚洲| 91精品国产综合久久久蜜臀粉嫩| 国产成人免费视频网站 | 久久久精品一品道一区| 成人av在线一区二区三区| 亚洲成人激情av| 欧美激情综合在线| 欧美精品自拍偷拍| 成人午夜在线免费| 日韩成人av影视| 一区在线播放视频| 91精品国产综合久久久久久久 | 欧美mv和日韩mv的网站| 成人影视亚洲图片在线| 婷婷综合另类小说色区| 欧美国产精品一区二区三区| 欧美日本一道本在线视频| 国产福利精品导航| 日韩精品免费专区| 亚洲欧美日韩成人高清在线一区| 26uuu精品一区二区| 欧美人狂配大交3d怪物一区| 成人爱爱电影网址| 国产一区在线不卡| 男男gaygay亚洲| 亚洲成人第一页| 国产精品二三区| 久久精品在线免费观看| 日韩一卡二卡三卡四卡| 欧美视频在线播放| 91丨九色丨蝌蚪丨老版| 国产精品一级二级三级| 久久69国产一区二区蜜臀| 亚洲 欧美综合在线网络| 国产精品久久久久久妇女6080 | 欧美成人在线直播| 欧美性猛交一区二区三区精品 | 丁香婷婷深情五月亚洲| 麻豆精品视频在线观看免费| 亚洲大片免费看| 亚洲精品菠萝久久久久久久| 国产精品高潮呻吟| 国产精品乱子久久久久| 久久蜜桃av一区精品变态类天堂| 69久久夜色精品国产69蝌蚪网| 欧美日韩亚洲国产综合| 欧美亚洲国产bt| 欧美日韩一卡二卡三卡 | 欧美一区二区国产| 欧美剧情片在线观看| 欧美性生活影院| 在线免费视频一区二区| 欧美在线视频日韩| 欧美日韩一区二区欧美激情| 欧美日韩国产美| 制服丝袜国产精品| 欧美一级久久久久久久大片| 日韩午夜在线观看视频| 日韩女优av电影在线观看| 欧美成人精品3d动漫h| 精品欧美乱码久久久久久1区2区| 91日韩在线专区| 国产一区二区三区高清播放| 国产成人综合亚洲网站| 国产 欧美在线| 99精品视频一区二区三区| 91亚洲精品乱码久久久久久蜜桃| 一本色道久久综合精品竹菊| 欧美午夜免费电影| 欧美一区二区三区在线| 久久综合九色综合欧美就去吻| 国产欧美精品一区二区色综合朱莉 | 国产精品色呦呦| 亚洲欧美日韩国产手机在线| 亚洲午夜激情av| 看片网站欧美日韩| 国产大陆精品国产| 91视频观看视频| 欧美二区三区91| 久久久亚洲精品一区二区三区| 亚洲婷婷综合久久一本伊一区| 一区二区免费看| 美女一区二区久久| 成人听书哪个软件好| 欧日韩精品视频| 精品福利在线导航| 亚洲精品一二三| 韩国精品在线观看| 日本精品一级二级| 欧美大胆一级视频| 中文字幕欧美一| 蜜臀av国产精品久久久久| 国产不卡视频在线观看| 欧美高清hd18日本| 欧美激情在线看| 视频一区欧美精品| www.66久久| 久久综合网色—综合色88| 最新日韩在线视频| 狠狠狠色丁香婷婷综合久久五月| 色8久久精品久久久久久蜜 | 日韩欧美一区二区三区在线| 中文幕一区二区三区久久蜜桃| 亚洲综合视频在线观看| 国产在线视频不卡二| 欧美性生活一区| 亚洲欧美在线高清| 激情欧美一区二区| 欧美高清dvd| 伊人色综合久久天天人手人婷| 国内外成人在线视频| 欧美日韩成人综合| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆 | 91国模大尺度私拍在线视频| 久久婷婷国产综合国色天香| 婷婷亚洲久悠悠色悠在线播放 | www.亚洲色图.com| 精品国产一区二区三区忘忧草| 亚洲综合清纯丝袜自拍| 成人av在线看| 国产蜜臀97一区二区三区| 日本成人在线看| 欧美日韩高清一区二区不卡| 亚洲女同一区二区| av网站一区二区三区| 久久精品视频在线看| 日韩高清在线观看| 欧美日韩在线精品一区二区三区激情| 国产精品视频在线看| 国产精品小仙女| 国产校园另类小说区| 久久99国产精品麻豆| 日韩免费高清视频| 精品一区二区三区在线播放| 91麻豆精品国产| 日韩vs国产vs欧美| 6080午夜不卡| 蜜臀av性久久久久蜜臀aⅴ| 91精品国产综合久久国产大片| 午夜电影久久久| 欧美情侣在线播放| 婷婷成人激情在线网| 欧美精品一二三| 日本欧美在线观看| 51午夜精品国产| 日本一区中文字幕| 欧美一区二区网站| 激情久久久久久久久久久久久久久久| 精品国产sm最大网站| 国产伦精一区二区三区| 国产亚洲一区二区三区在线观看| 国产一区美女在线| 国产精品网站在线播放| 91浏览器打开| 亚洲高清视频中文字幕| 51久久夜色精品国产麻豆| 日韩va亚洲va欧美va久久| 日韩欧美激情在线| 国产精品白丝jk白祙喷水网站| 中文字幕第一区综合| aaa亚洲精品| 香蕉影视欧美成人| 7777精品伊人久久久大香线蕉超级流畅 | 国产精品女人毛片| 91一区二区在线观看| 亚洲国产视频网站| 日韩一区二区三区视频在线观看| 国产一区二区三区美女| 国产精品黄色在线观看| 欧美性大战久久| 精品一区二区三区免费播放| 中文字幕欧美日本乱码一线二线| 色综合久久中文字幕| 美女一区二区视频| 1000部国产精品成人观看| 56国语精品自产拍在线观看| 国产成人精品免费网站| 亚洲一区二区三区激情| 精品国产免费视频| 在线精品视频免费播放|