上傳data image圖片

最近在項目中有這么一個需求,就是上傳一個視頻文件烫扼,然后要獲取視頻文件的第一幀圖片滓窍,這個可以通過canvas獲取得到,得到的是一個dataURL,之后還要將這個圖片上傳到云了赌,這個時候如何操作就不清楚了臊泌,于是乎,google一番揍拆,總結(jié)如下:

  1. 將dataURL轉(zhuǎn)成Blob
  2. 利用formData
  3. 異步上傳
function b64toBlob(b64Data, contentType='', sliceSize=512) {
        const byteCharacters = atob(b64Data);
        const byteArrays = [];

        for (let offset = 0; offset < byteCharacters.length; offset += sliceSize) {
            const slice = byteCharacters.slice(offset, offset + sliceSize);

            const byteNumbers = new Array(slice.length);
            for (let i = 0; i < slice.length; i++) {
                byteNumbers[i] = slice.charCodeAt(i);
            }

            const byteArray = new Uint8Array(byteNumbers);

            byteArrays.push(byteArray);
        }

      const blob = new Blob(byteArrays, {type: contentType});
      return blob;
}
// dataURL to blob

// 假設(shè)一個dataURL
const ImageURL = "data:image/jpeg;base64,abcdefg

// Split the base64 string in data and contentType
const block = ImageURL.split(";");

// Get the content type of the image
const contentType = block[0].split(":")[1];// In this case "image/jpeg"

// get the real base64 content of the file
const realData = block[1].split(",")[1];// In this case "R0lGODlhPQBEAPeoAJosM...."

// Convert it to a blob to upload
var blob = b64toBlob(realData, contentType);
// new a formData

const formData = new FormData();
formData.append('blob', blob);
// upload

$.ajax({
    url:url,
    data: formData
    type:"POST",
    contentType:false,
    processData:false,
    error:function(err){
    },
    success:function(data){
    },
});
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市茶凳,隨后出現(xiàn)的幾起案子嫂拴,更是在濱河造成了極大的恐慌,老刑警劉巖贮喧,帶你破解...
    沈念sama閱讀 212,383評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件筒狠,死亡現(xiàn)場離奇詭異,居然都是意外死亡箱沦,警方通過查閱死者的電腦和手機辩恼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人灶伊,你說我怎么就攤上這事疆前。” “怎么了聘萨?”我有些...
    開封第一講書人閱讀 157,852評論 0 348
  • 文/不壞的土叔 我叫張陵竹椒,是天一觀的道長。 經(jīng)常有香客問我米辐,道長胸完,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,621評論 1 284
  • 正文 為了忘掉前任翘贮,我火速辦了婚禮赊窥,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘狸页。我一直安慰自己锨能,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,741評論 6 386
  • 文/花漫 我一把揭開白布肴捉。 她就那樣靜靜地躺著腹侣,像睡著了一般。 火紅的嫁衣襯著肌膚如雪齿穗。 梳的紋絲不亂的頭發(fā)上傲隶,一...
    開封第一講書人閱讀 49,929評論 1 290
  • 那天,我揣著相機與錄音窃页,去河邊找鬼跺株。 笑死,一個胖子當(dāng)著我的面吹牛脖卖,可吹牛的內(nèi)容都是我干的乒省。 我是一名探鬼主播,決...
    沈念sama閱讀 39,076評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼畦木,長吁一口氣:“原來是場噩夢啊……” “哼袖扛!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起十籍,我...
    開封第一講書人閱讀 37,803評論 0 268
  • 序言:老撾萬榮一對情侶失蹤蛆封,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后勾栗,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體惨篱,經(jīng)...
    沈念sama閱讀 44,265評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,582評論 2 327
  • 正文 我和宋清朗相戀三年围俘,在試婚紗的時候發(fā)現(xiàn)自己被綠了砸讳。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片琢融。...
    茶點故事閱讀 38,716評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖簿寂,靈堂內(nèi)的尸體忽然破棺而出漾抬,到底是詐尸還是另有隱情,我是刑警寧澤陶耍,帶...
    沈念sama閱讀 34,395評論 4 333
  • 正文 年R本政府宣布奋蔚,位于F島的核電站,受9級特大地震影響烈钞,放射性物質(zhì)發(fā)生泄漏泊碑。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,039評論 3 316
  • 文/蒙蒙 一毯欣、第九天 我趴在偏房一處隱蔽的房頂上張望馒过。 院中可真熱鬧,春花似錦酗钞、人聲如沸腹忽。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,798評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽窘奏。三九已至,卻和暖如春葫录,著一層夾襖步出監(jiān)牢的瞬間着裹,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,027評論 1 266
  • 我被黑心中介騙來泰國打工米同, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留骇扇,地道東北人。 一個月前我還...
    沈念sama閱讀 46,488評論 2 361
  • 正文 我出身青樓面粮,卻偏偏與公主長得像少孝,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子熬苍,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,612評論 2 350

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,841評論 25 707
  • 參考1-HTML5實現(xiàn)圖片壓縮上傳功能參考2-移動前端—圖片壓縮上傳實踐參考3-移動端H5圖片壓縮上傳 大體步驟 ...
  • 在項目中經(jīng)常遇到需要將本地圖片上傳至服務(wù)端的情況稍走,免不了要本地預(yù)覽選擇的圖片,圖片太大的情況下還需要對圖片進行一番...
    學(xué)不可以已閱讀 2,416評論 0 0
  • 轉(zhuǎn)眼間柴底,我們認(rèn)識了差不多6年時間了钱磅,記得當(dāng)初認(rèn)識你的那個瞬間,想想眼睛都流露出來微笑似枕,認(rèn)識的瞬間確實很是一個突然...
    認(rèn)知從善閱讀 410評論 0 0
  • 大寶:牛牛(7周歲6個月13天) 二寶:申申(11個月7天) 讀經(jīng)時間:總第52天,第7周3天 讀經(jīng)人員:牛牛年柠、牛...
    牛牛的豬媽閱讀 181評論 0 0