上传data image图片

作者: laohan | 来源:发表于2017-06-24 13:49 被阅读4441次

最近在项目中有这么一个需求,就是上传一个视频文件,然后要获取视频文件的第一帧图片,这个可以通过canvas获取得到,得到的是一个dataURL,之后还要将这个图片上传到云,这个时候如何操作就不清楚了,于是乎,google一番,总结如下:

  1. 将dataURL转成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

// 假设一个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){
    },
});

相关文章

  • 上传data image图片

    最近在项目中有这么一个需求,就是上传一个视频文件,然后要获取视频文件的第一帧图片,这个可以通过canvas获取得到...

  • iOS-AFNetWorking3.0图片上传

    使用AFNetWorking3.0进行图片上传,把image图片转为data 数据。

  • composer

    [图片上传失败...(image-836231-1535956121516)] [图片上传失败...(image-...

  • ecjia到家上传目录整理

    data/afficheimg 广告上传的图片 data/article 文章附件上传的图片data/...

  • 2019-04-01

    [图片上传失败...(image-383a45-1554105875851)] [图片上传失败...(image-...

  • 比绘本更好的是AR绘本

    [图片上传中...(image-4840fc-1510399774056-12)] [图片上传中...(image...

  • Spark 基础面试题

    [图片上传失败...(image-519c60-1588930981250)] [图片上传失败...(image-...

  • 2019-02-18

    [图片上传失败...(image-418ad0-1552288394786)][图片上传失败...(image-a...

  • vue+Elementui+vue2-org-tree制作组织架

    [图片上传失败...(image-7bb348-1632405099244)])[图片上传失败...(image-...

  • 2022-06-06

    [图片上传失败...(image-495f89-1654497852627)][图片上传失败...(image-a...

网友评论

    本文标题:上传data image图片

    本文链接:https://www.haomeiwen.com/subject/yvlkcxtx.html