js访问blob数据

时间:2017-10-10 16:12:33

标签: javascript reactjs file blob

我尝试将文件上传到aws s3

上传有效。问题是数据类型。

我尝试上传的文件是这样的blob:

blob:http://localhost:8080/2957b409-cab8-4564-b696-76c0af6ef64f

上传的文件只包含上面的字符串,而不包含blob中的文件(图像)。

如何访问blob并上传原始文件?

感谢

更新:

我现在发现了这个和我们:

   const reader = new FileReader();
reader.onload = () => {
    const fileAsBinaryString = reader.result;

    this.awsS3UploadHelper(pictures,fileAsBinaryString);

    // do whatever you want with the file content
};
reader.onabort = () => console.log('file reading was aborted');
reader.onerror = () => console.log('file reading has failed');
reader.readAsBinaryString(file);

fileAsBinaryString包含一个非常长的字符串...我认为文件内容...当我将文件保存到aws S3时,整个内容都在文件中并存储。

但是当我打开文件时,图像查看器中没有显示任何内容。当我用编辑器打开文件时,文件中有相同的字符串......

可能是什么问题?提前谢谢。

我认为它的编码问题可能是什么?

fileAsBinaryString包含以下内容:

`PNG

`

原始文件就像这样开始 ‰PNG

1 个答案:

答案 0 :(得分:0)

解决方案是使用:

reader.readAsArrayBuffer(file);代替reader.readAsBinaryString(file);