PHP大文件上傳之騰訊云分片上傳

最近公司項目需要完成一個微課上傳的需求? 最開始是通過騰訊云簡單上傳對象操作 直接上傳(公司資源都是保存在騰訊云)玉转。這個基本上傳個50M左右沒什么問題搂抒,但是由于PHP的最大請求時間限制 加上產品要求做一個真實進度條這時候犯難了? 畢竟之前沒做過(以前都是拿前端插件做的假進度條)蒋纬。經過多方百度 最后確定了? 分片上傳的思路? 接下來給大家分享下 我做這個分片上傳的步驟

首先前面說了我們資源是保存在騰訊云的所以調用上傳的接口其實就是騰訊云的存儲桶源梭!

說分片上傳 那我們就要說一下什么是分片铺呵,其實一開始我也不是很明白 其實現(xiàn)在我也不知道理解的對不對? 只是說一下我的理解 還望指正!

簡單的說比如你是100M視頻? ?那么為了避免上傳請求超時 那么我們就要把他切割成一些小文件? 你可以分成10塊每塊10M 派撕、20塊每塊5M婉弹,自己去定義? 那么正常情況下? ?你傳5M的視頻是不會超時的? ?不僅解決了超時的問題 還能夠實現(xiàn)真實進度條的顯示 5% 10% 這樣去遞增 話不多說? 我們直接來說說實現(xiàn)方式

1.前端切片

首先要明白? 將100M分成 10個或者20個小文件? 這個過程是在前端完成的 前端切割上傳到后臺最后合并 這一點在騰訊的接口上也是體現(xiàn)出來了 后面會說到!文件切割的代碼我就不貼了? 自己去百度很多我這里主要是記錄一下思路?

2.初始化上傳

分塊上傳對象: 初始化分塊上傳终吼, 上傳分塊马胧, 完成分塊上傳。

這是騰訊云給出的步驟? 大概就是首先你需要建立一個唯一的上傳過程衔峰,初始化之后會返回一個上傳ID給你? 這個id在后面很多地方都需要用到? 這一步需要兩個參數(shù) 一個是你的存儲桶標識 另外一個實際上你可以理解為你上傳之后你在桶里的存放位置xx/xxx/xxx.MP4?

3.上傳分塊

這一步除了前面說的幾個基礎參數(shù)以外多了??Body、PartNumber? ?

Body 實際上就是文件信息?fopen($file->getRealPath(), 'rb') --- 這里我被困擾了很久

PartNumber? ?這個實際上就是切片的編號 10片? 那就是1-10? ?依次遞增(順序不能亂)?

4.完成上傳

Parts? ?將你每次上傳的塊以array的形式傳參?ETag每個分塊的MD5值? ?另外一個就是我們前面說的分塊編號

完成上傳之后? 官方文檔好像沒看到返回參數(shù)的說明(也許是我沒找到)
返回里面ETag 這個參數(shù)為文件的md5值? 這個值可以和文件地址一起存起來? ?這樣下次上傳同樣MD5值文件的時候? 我們就不必走這么多流程了 直接返回已有地址即可??

好了? 以上就是我做這個分片的過程蛙粘!

既是分享垫卤,也是溫習〕瞿粒互相學習穴肘,多謝指正。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末舔痕,一起剝皮案震驚了整個濱河市评抚,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌伯复,老刑警劉巖慨代,帶你破解...
    沈念sama閱讀 217,657評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異啸如,居然都是意外死亡侍匙,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評論 3 394
  • 文/潘曉璐 我一進店門叮雳,熙熙樓的掌柜王于貴愁眉苦臉地迎上來想暗,“玉大人,你說我怎么就攤上這事帘不∷的” “怎么了?”我有些...
    開封第一講書人閱讀 164,057評論 0 354
  • 文/不壞的土叔 我叫張陵寞焙,是天一觀的道長储狭。 經常有香客問我互婿,道長,這世上最難降的妖魔是什么晶密? 我笑而不...
    開封第一講書人閱讀 58,509評論 1 293
  • 正文 為了忘掉前任擒悬,我火速辦了婚禮,結果婚禮上稻艰,老公的妹妹穿的比我還像新娘懂牧。我一直安慰自己,他們只是感情好尊勿,可當我...
    茶點故事閱讀 67,562評論 6 392
  • 文/花漫 我一把揭開白布僧凤。 她就那樣靜靜地躺著,像睡著了一般元扔。 火紅的嫁衣襯著肌膚如雪躯保。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,443評論 1 302
  • 那天澎语,我揣著相機與錄音途事,去河邊找鬼。 笑死擅羞,一個胖子當著我的面吹牛尸变,可吹牛的內容都是我干的。 我是一名探鬼主播减俏,決...
    沈念sama閱讀 40,251評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼召烂,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了娃承?” 一聲冷哼從身側響起奏夫,我...
    開封第一講書人閱讀 39,129評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎历筝,沒想到半個月后酗昼,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 45,561評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡梳猪,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,779評論 3 335
  • 正文 我和宋清朗相戀三年仔雷,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片舔示。...
    茶點故事閱讀 39,902評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡碟婆,死狀恐怖,靈堂內的尸體忽然破棺而出惕稻,到底是詐尸還是另有隱情竖共,我是刑警寧澤,帶...
    沈念sama閱讀 35,621評論 5 345
  • 正文 年R本政府宣布俺祠,位于F島的核電站公给,受9級特大地震影響借帘,放射性物質發(fā)生泄漏。R本人自食惡果不足惜淌铐,卻給世界環(huán)境...
    茶點故事閱讀 41,220評論 3 328
  • 文/蒙蒙 一肺然、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧腿准,春花似錦际起、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至弟跑,卻和暖如春灾前,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背孟辑。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評論 1 269
  • 我被黑心中介騙來泰國打工哎甲, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人饲嗽。 一個月前我還...
    沈念sama閱讀 48,025評論 2 370
  • 正文 我出身青樓烧给,卻偏偏與公主長得像,于是被迫代替她去往敵國和親喝噪。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,843評論 2 354