javascript 如何将原始 jpeg 数据处理成文件

How to process raw jpeg data into a file in javascript

我正在尝试从 javascript

中的原始数据创建一个 jpeg 文件

我一直在使用 google 文件选择器 api 来允许用户 select 从驱动器中导入他们的图像并导入到我的应用程序中,但是当我发出下载请求时图像 google 以原始数据响应,如下所示:

Google's response

我尝试将数据放入一个 blob 中:

var blob = new Blob([res.text], {type: 'image/jpeg'})

我也试过将数据放入文件中。

var file = new File([res.text], 'image.jpeg', {type:"image/jpeg"})

但是该文件只呈现黑色像素。我怎样才能从该数据生成一个 jpeg 文件,以便我可以上传到我的服务器?

更新(解决方案): 我将请求 api 切换为获取并在响应中使用 .blob()

对于超级代理,请参阅 http://visionmedia.github.io/superagent/#parsing-response-bodies -> Binary and http://visionmedia.github.io/superagent/#response-properties -> 响应正文。

您需要使用 .responseType('blob')res.body

https://stackblitz.com/edit/js-so-how-to-process-raw-jpeg-data-into-a-file-in-javascript