【问题标题】:I was trying to upload a video [duplicate]我正在尝试上传视频[重复]
【发布时间】:2018-06-14 14:10:35
【问题描述】:

如何将 Blob 转换为字节数组?我试图上传视频并以字节数组格式调用 API

执行以下代码后,我们得到了“blob:http://localhost:8080/2d118b17-34b3-4e19-8044-72e9a0c5eaff”格式的视频。我想将blob url转换为字节数组。

谁能帮我把bloburl转换成字节数组?

我的 HTML:

<video ng-if="item.documentType == 'video'" controls  width="100" height="145">
     <source data-ng-src="{{item.data}}">
     Your browser does not support the video tag.
</video>

我的 JS:

if(type == 'video'){            
    var item = {
        name:file.files[0].name,
        documentType:type,
        src: file.files[0],
        data: URL.createObjectURL(file.files[0]),
        caseFileId: $scope.mediaItem.caseId
    }

    $scope.mediaItem.listDocumentDto.push(item);            
}

【问题讨论】:

  • 这里的一切都不像 Java
  • 不要使用URL.createObjectURL。直接上传文件。

标签: javascript html angularjs video


【解决方案1】:

您需要使用FileReader 将文件的内容放入ArrayBuffer,然后您可以使用您选择的TypedArray

var fr = new FileReader();
fr.onloadend = function(){
  //fr.result will be an ArrayBuffer so create an Int8Array view
  var data = new Int8Array(fr.result);
  //use data as you wish.
};
fr.readFileAsArrayBuffer(file.files[0]);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-12
    • 2020-11-23
    • 1970-01-01
    • 1970-01-01
    • 2013-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多