摘要:我們的項目中有大量的圖片上傳和展示。我們選了七牛作為。這其中一個比較重要的原因是因為支持前端直接上傳。為了支持前端上傳,提供了。將文件分成個上傳。需要做如下的操作上傳。具體到的話,是這樣上傳起始的文件內容。在內部還可以分上傳。
我們的項目中有大量的圖片上傳和展示。我們選了七牛作為CDN。這其中一個比較重要的原因是因為qiniu支持前端直接上傳。動輒4-5MB的圖片不用到我們的app server轉一圈還是很好的。為了支持前端上傳,qiniu提供了javascript SDK。但是我看了看代碼。實在是太大了。7000多行javascript啊。真的有必要嗎?有必要嗎?有必要嗎?遂決定DIY一個。講真,qiniu提供各種各樣SDK。并不推薦直接用REST API來上傳。關于API的調用也比較簡單。所以還是費了一點力氣。因有此文。
像任何事情一樣,搞定之后覺得其實蠻簡單的。同樣像任何事情一樣,理解了big picture就會好辦多了。
qiniu為了支持大文件,允許用戶將文件分塊(block)上傳。再所有的文件塊上傳完成之后,再將所有塊組成一個完整的文件 - 至少邏輯上是如此。物理存儲如何只有qiniu自己曉得。
我們以一個2.5MB的文件為例。將文件分成3個block上傳。blockSize設為1MB。需要做如下的操作:
上傳block 1。qiniu服務器返回一個ctx來標識這個block。例如abcd
上傳block 2。qiniu服務器返回一個ctx來標識這個block。例如efgh
上傳block 3。qiniu服務器返回一個ctx來標識這個block。例如ijk
告訴qiniu服務器這個新文件是有abcd, efgh 和 ijk 三個block組成。并給出key。就可以生成文件了。
具體到API的話,是這樣:
POST /mkblk/1048576 上傳起始的1MB文件內容。服務器返回ctx以及其它內容。
POST /mkblk/1048576 上傳中間的1MB文件內容。服務器返回ctx以及其它內容。
POST /mkblk/524288 上傳最后的0.5MB文件內容。服務器返回ctx已經其它內容。
POST /mkfile/2621440/key/
最后補充兩點:
文件內容的讀取,以及各個步驟之間的銜接是通過plupload來完成的。這個和官方的SDK也一致。但是代碼量要少的多。
qiniu在block內部還可以分chunk上傳。只要用/bput API并指定ctx即可。因為有點復雜而且沒有什么特別的需求(也許是為了超大文件吧),所以沒有采用。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/79381.html
摘要:使用圖靈機器人訓練之前在對比聊天機器人實現方案的時候,我試用過圖靈機器人,他們號稱中文語境下智能渡最高的機器人大腦。 上一篇 一小時搭建微信聊天機器人 介紹了如何搭建一個可用的聊天機器人,但是和機器人聊完你會發現,聊天機器人實在是太傻了,來回就那么幾句。這是因為我們給聊天機器人的數據太少,他只能在我們給的訓練集中找它認為最合適的。那么,如何導入更多的訓練數據呢?我能想到最簡單的方法是找...
摘要:然后又介紹了基于的公號賬本應用的數據庫設計。歡迎關注公號四月試用。 前兩篇 微信公號DIY 系列: 微信公號DIY:一小時搭建微信聊天機器人 微信公號DIY:訓練聊天機器人&公號變身圖片上傳工具 介紹了如何使用搭建&訓練聊天機器人以及讓公號支持圖片上傳到七牛,把公號變成一個七牛圖片上傳客戶端。這一篇將繼續開發公號,讓公號變成一個更加實用的工具賬本(理財從記賬開始)。 代碼: 項目代...
摘要:然后又介紹了基于的公號賬本應用的數據庫設計。歡迎關注公號四月試用。 前兩篇 微信公號DIY 系列: 微信公號DIY:一小時搭建微信聊天機器人 微信公號DIY:訓練聊天機器人&公號變身圖片上傳工具 介紹了如何使用搭建&訓練聊天機器人以及讓公號支持圖片上傳到七牛,把公號變成一個七牛圖片上傳客戶端。這一篇將繼續開發公號,讓公號變成一個更加實用的工具賬本(理財從記賬開始)。 代碼: 項目代...
閱讀 1407·2021-11-24 10:20
閱讀 3649·2021-11-24 09:38
閱讀 2294·2021-09-27 13:37
閱讀 2196·2021-09-22 15:25
閱讀 2270·2021-09-01 18:33
閱讀 3488·2019-08-30 15:55
閱讀 1783·2019-08-30 15:54
閱讀 2081·2019-08-30 12:50