gpt4 book ai didi

javascript - 将图像从 readAsDataURL 转换为 readAsBinaryString

转载 作者:行者123 更新时间:2023-11-28 01:52:59 24 4
gpt4 key购买 nike

使用 filereader API通过使用 readAsDataURL 读取文件,可以显示文件的预览。

我想做的是:

  1. 用户选择一个文件
  2. 显示预览,以便用户获得一些反馈。
  3. 如果用户满意,他将数据提交到后端。

执行步骤 3 可以通过使用 readAsBinaryString 重新读取文件来完成,但这看起来有问题,因为数据可能已经在磁盘上消失或更改。所以我想要的是将从 readAsDataURL 返回的数据转换为 readAsBinaryString 返回的格式。我该怎么做?

另一种方法是将数据提交给 readAsDataURL 返回的后端,但我想避免这种情况,因为在我的情况下,这需要对后端进行特殊处理。

最佳答案

CBroe said,你不需要读取文件两次。

JS:

 handleFileSelectThumbFile(evt){
var files = evt.target.files;
var file = files[0];

// You can get the mime type like this.
var thumbMIME = files[0]['name'].split('.').pop();
if (files && file) {
var reader = new FileReader();

reader.onload = function(readerEvt) {

// Split the readerEvt.target.result by a ','.
// You can send the binaryString variable to the server.
// Its base64 encoded already.
var binaryString = readerEvt.target.result.split(',')[1];

// Set the image preview to the uploaded image.
$('.img-preview').prop('src', readerEvt.target.result);
}.bind(this);
reader.readAsDataURL(file);
}
}

HTML:

  <input type="file" onChange={this.handleFileSelectThumbFile} required/>
<img src='http://placehold.it/300' class='img-preview'/>

您也可以从 readerEvt 的第一部分读取 MIME 类型。看CBroe上面的评论。

关于javascript - 将图像从 readAsDataURL 转换为 readAsBinaryString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18960187/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com