第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

用JavaScript來上傳二進(jìn)制文件到Azure Blob

標(biāo)簽:
Node.js JavaScript

需求:用浏览器来上传二进制文件到Azure Blob

JavaScript 语言自身只有字符串数据类型,没有二进制数据类型。

上传文件到Azure Blob有四个API:

createBlockBlobFromBrowserFile(container, blob, browserFile [, options], callback)

createBlockBlobFromLocalFile(container, blob, localFileName [, options], callback)

createBlockBlobFromStream(container, blob, (Stream), streamLength [, options], callback)

createBlockBlobFromText(container, blob, text [, options], callback)

从本地文件上传,需要用到node的ps文件操作,用file控件只能上传input-file,而我需要把拿到的base64文件转成二进制流才行

解决方案:Buffer

在处理像TCP流或文件流时,必须使用到二进制数据。因此在 Node.js中,定义了一个 Buffer 类,该类用来创建一个专门存放二进制数据的缓存区。

npm也提供了一个Buffer,和node API基本一致

npm install buffer

在vue组件中引入

var Buffer = require('buffer/').Buffer

最终:

  uploadAzure () {
      // const self = this
      let resu = new Promise(async (resolve, reject) => {
        /* eslint-disable no-undef */
        let rawdata = Session.get('img_base64')
        let matches = rawdata.match(/^data:([A-Za-z-+\/]+);base64,(.+)$/)
        let type = matches[1]
        let buffer = new Buffer(matches[2], 'base64')
        let blobUri = Config.azure.host

        let imageid = Util.uuid() + '.jpg'

        try {
          let res = await Api.get(Session.get('SID'), 'azure/storagesas', {imageid: imageid})
          if (res.code === 0) {
            let sasKey = res.data.token
            console.log(sasKey)
            let blobService = AzureStorage.Blob.createBlobServiceWithSas(blobUri, sasKey).withFilter(new AzureStorage.Blob.ExponentialRetryPolicyFilter())
            blobService.createBlockBlobFromText(Config.azure.container, imageid, buffer, {contentType: type}, function (error, result, response) {
              if (!error) {
                resolve(result)
              }
            })
          }
        } catch (e) {
          console.log(e)
        }
      })

      resu.then((res) => {
        console.log(res.name)
        Session.set('imageid', res.name)
      })
    },

图片描述

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消