javascript - 创建 new File() 或 new Blob() 会导致 VSCode 扩展崩溃
问题描述
我目前正在尝试在 vs code webview 扩展中保存带有“另存为...”弹出窗口的文件。
我已经尝试过的事情:在 web 视图中使用 htmls“下载”属性,但链接在单击它们时什么也不做。
所以我尝试下载 nodejs https://www.npmjs.com/package/file-saver/v/1.3.2 的文件保护程序扩展,问题是,当我尝试在我的 vsCode 扩展中运行此代码时:
var file = new File(["Hello, world!"], "hello world.txt", {type:
"text/plain;charset=utf-8"}); saveAs(file);
新文件的创建导致我的 vscode 扩展崩溃:
/C:/Users/hansel/…esktop.main.js:2786 Error: Running the contributed command: 'extension.helloWorld' failed. at _executeContributedCommand (c:\Users\hansel\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:549:316) at _.$executeContributedCommand (c:\Users\hansel\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:549:595) at p._doInvokeHandler (c:\Users\hansel\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:688:464) at p._invokeHandler (c:\Users\hansel\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:688:156) at p._receiveRequest (c:\Users\hansel\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:686:817) at p._receiveOneMessage (c:\Users\hansel\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:685:623) at c:\Users\hansel\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:683:791 at l.fire (c:\Users\hansel\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:48:845) at v.fire (c:\Users\hansel\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:191:325) at c:\Users\hansel\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:851:104 at l.fire (c:\Users\hansel\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:48:845) at v.fire (c:\Users\hansel\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:191:325) at Object._receiveMessage (c:\Users\hansel\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:195:717) at c:\Users\hansel\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:192:897 at l.fire (c:\Users\hansel\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:48:845) at p.acceptChunk (c:\Users\hansel\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:188:897) at c:\Users\hansel\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:188:249 at Socket.t (c:\Users\hansel\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:197:232) at Socket.emit (events.js:203:13) at addChunk (_stream_readable.js:295:12) at readableAddChunk (_stream_readable.js:276:11) at Socket.push (_stream_readable.js:210:10) at Pipe.onStreamRead (internal/stream_base_commons.js:166:17)
尝试使用 msSaveOrOpenBlob 保存 blob
var blob = new Blob(["1","1"]);
window.navigator.msSaveOrOpenBlob(blob, 'msSaveBlob_testFile.docx');
当我尝试创建 blob 时导致相同的错误消息
有什么方法可以摆脱这些错误并在 vs 代码扩展中具有“另存为...”功能?
解决方案
推荐阅读
- php - 防止 Php/Symfony 对“真”值进行类型转换
- javascript - Angular:使用动态循环输入设置反应形式
- python - 在 python 中定义字典得到 TypeError: unhashable type: 'dict'
- qubole - 如何将 .py 文件导入 Qubole?
- javascript - 在 Angular 中预览多个图像和视频
- python - nRF52840 调试 SWD Raspberry Pi 3B+ flash_writing 错误
- mysql - 嵌套的 MySQL 查询挂起
- docker - Docker 无法从命令发送电子邮件
- flutter - 使容器可点击
- c# - C#在没有确认的情况下将一位信息(=布尔值)发送到另一个进程