使用shell,我们可以通过默认应用程序打开文件。但是可以将blob
转换为文件吗?
var fileurl = ''; //url of a file, example is docx file.
var filename = $(this).text().replace(/^\s+/g, '');
$.ajax({
url: fileurl,
method: 'GET',
xhrFields: {
responseType: 'blob'
},
success: function (data) {
//convert the blob into file
var file = new File([data], filename, {type: data.type, lastModified: Date.now()});
const {shell} = require('electron');
shell.openItem(file); //open the converted file with it's default application
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
我试图将Blob转换为文件,以为它可以工作,但失败了,并且错误提示Error processing argument at index 0, conversion failure from #<File>
。
答案 0 :(得分:0)
电子shell.openItem(filepath:string)
明确需要现有本地文件的路径。 https://electronjs.org/docs/api/shell#shellopenitemfullpath
除非将文件保存到临时位置,否则无法直接传递blob。