我有一个blob对象,我从包含图像的画布中获取。我将此blob更改为objectURL。
let myBlob = canvas.toBlob(function(blob) {...}, 'image/jpeg', 0.95);
let myUrl = URL.createObjectURL(myBlob);
我得到一个blob对象网址:blob:file:///d324f-3fd4....
要获取保存文件的位置,我首先尝试在调用getDirectory
对象的DirectoryEntry
方法之前请求文件系统。但是,我收到了通用的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只存在于浏览器内存中,并没有实际保存在电子的临时根文件夹中。
答案 0 :(得分:2)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<select name="reason_change[1]" id="reason_change[1]" >
<option value="0">--0000--</option>
<option value="1">--0001--</option>
<option value="2">--0002--</option>
</select>
<div class="field" id="new_acc[1]">
<label>Account</label>
<input type="text" name="account_cus[1]" id="account_cus[1]" value="">
</div>
<select name="reason_change[2]" id="reason_change[2]" >
<option value="0">--0000--</option>
<option value="1">--0001--</option>
<option value="2">--0002--</option>
</select>
<div class="field" id="new_acc[2]">
<label>Account</label>
<input type="text" name="account_cus[1]" id="account_cus[2]" value="">
</div>
不会将您的文件保存在磁盘上,它只会创建一个符号链接。
如果Blob存储在内存中(就像你的情况一样),符号链接指向内存,并且只要创建符号链接的会话处于活动状态,就会将文件保存在内存中。
如果是文件(来自用户输入),则符号链接直接指向用户的磁盘。
因此,在您的情况下,您无法访问其位置,因为它只存在于内存中。
现在,你总是可以将Blob存储在fileSystem上,但我不是电子忍者,所以我会让你检查别人的答案:Save video blob to filesystem electron/node js