亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

使用 axios 上傳媒體文件

標簽:
JavaScript

一、FormData

XHR 2 添加了一个新的接口 FormData,通过 FormData 对象里面的键值对可以模拟表单控件异步上传二进制文件。

append() 方法会添加一个新值到 FormData 对象内,若已存在也不会覆盖,可用 getAll() 方法取到指定键的所有值。delete() 方法会从 FormData 对象中删除指定键和它所有对应的值。

示例:

const fd = new FormData()// appendfd.append('age', '24')
fd.append('name', 'Mazey')
fd.append('name', 'Cherrie')console.log(fd.get('name')) // Mazeyconsole.log(fd.getAll('name')) // ["Mazey", "Cherrie"]// deletefd.delete('name')console.log(fd.getAll('name')) // []

也可以指定一个 BlobFile 作为数据添加到 FormData 对象中:fd.append('file', Blob Object, File Name)fd.append('portrait', formInput.files[0], 'user.png')

二、Blob

Blob 对象表示一个不可变、原始数据的类文件对象。通过 URL 对象可以创建一个指向类型化数组的 URL,可以当成一个普通的链接使用,比如读取图片或者视频。

示例:

const blob = new Blob([JSON.stringify({hello: 'Mazey!'})], {type : 'application/json'})const url = URL.createObjectURL(blob)

三、实战:使用 axios 上传一个 WebM 文件

备注:WebM 由 Google 提出,是一个开放、免费的媒体文件格式。

const blob = new Blob(Webm Object, {type: 'video/webm'})const formData = new FormData()
formData.append('file', blob, 'mazey-test.webm')
axios({    method: 'post',    url: '/api/video/upload',    data: formData,    headers: {        'Content-Type': 'multipart/form-data'
    }
})
    .then(        res => {            console.log('上传成功!')
        }
    )
    .catch(        err => {            console.log('上传失败!')
        }
    )



作者:后除
链接:https://www.jianshu.com/p/69a525c10a31


點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

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

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消