gpt4 book ai didi

javascript - 将图像 blob 对象保存到本地文件系统 Javascript

转载 作者:行者123 更新时间:2023-11-29 21:01:37 25 4
gpt4 key购买 nike

我有一个从包含图像的 Canvas 中获取的 blob 对象。我将此 blob 更改为 objectURL。

let myBlob = canvas.toBlob(function(blob) {...}, 'image/jpeg', 0.95);
let myUrl = URL.createObjectURL(myBlob);

我得到一个 blob 对象 url,如:blob:file:///d324f-3fd4....

为了获取文件的保存位置,我尝试先请求文件系统,然后再调用 DirectoryEntry 对象的 getDirectory 方法。但是,我得到了一般的 File not found in the directory 错误。

window.requestFileSystem = window.requestFileSystem || window.webkitRequestFileSystem;
webkitRequestFileSystem(window.TEMPORARY, 2048*2048, resolve, errorHandler);
// doesn't resolve to any value

我在 Windows 10 的 AppData 文件夹中到处搜索,但没有找到临时文件。我的猜测是该 blob 仅存在于浏览器内存中,实际上并未保存在 electron 的临时根文件夹中。

最佳答案

URL.createObjectURL 不会将您的文件保存在磁盘上,它只会创建一个符号链接(symbolic link)。

如果 Blob 存储在内存中(如您的情况),则符号链接(symbolic link)指向内存,并在创建符号链接(symbolic link)的 session 存在时将文件保存在内存中。

如果是文件(从用户的输入中获取),符号链接(symbolic link)直接指向用户的磁盘。

所以在你的情况下你不能访问它的位置,因为它只存在于内存中。

现在,您始终可以将 Blob 存储在文件系统上,但我不是 Electron 忍者,所以我会让您检查其他人的答案:Save video blob to filesystem electron/node js

关于javascript - 将图像 blob 对象保存到本地文件系统 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46157653/

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