预检清单
- 我已阅读了此项目的 Contributing Guidelines。
- 我同意遵循此项目遵循的 Code of Conduct。
- 我在 issue tracker 中搜索了一个与我想要提交的 bug 报告匹配的 bug,但没有成功。
Electron 版本
25.1.0
您正在使用的操作系统是什么?
Windows
您正在使用的操作系统版本是什么?
Windows 10,版本 19041.1415
您正在使用的架构是什么?
x64
最后已知正常工作的 Electron 版本
- 无响应*
预期行为
const { filePath } = await dialog.showSaveDialog({ defaultPath: "change-me.txt" })
// presented as "change-me" -- change to "updated-name"
console.log(filePath) // >> "updated-name.txt"
实际行为
const { filePath } = await dialog.showSaveDialog({ defaultPath: "change-me.txt" })
// presented as "change-me" -- change to "updated-name"
console.log(filePath) // >> "updated-name" (no extension)
测试用例代码片段 URL
https://gist.github.com/jamiebuilds/4731be0aa643774a71e4543a572f753f
其他信息
- 并非总能在保存可能的每个文件扩展名时创建一个过滤器
- 在用户空间处理类似
.tar.gz
这样的路径是很困难的
6条答案
按热度按时间rur96b6h1#
我认为这是Windows系统的设计行为。如果你保存一个类型为
All Files
的文件,那么扩展名可以是任何内容。当你启用"显示文件名扩展名"时,效果会更加明显。我同意这很繁琐,但解决方案可能是在需要的时候在你的代码中验证/附加扩展名。3zwtqj6y2#
我不确定如果将文件扩展名附加到Windows用户的行为会是什么。
file.mov -> file.mp4
或file.jpeg
->file.wrong
file.tar.gz
或file.html.md
file.tar.gz
,提示显示的是file.tar
,你应该完全去掉它吗?.jpeg -> .jpg
或.js -> .mjs
,会发生什么?一个选项是忽略他们输入的任何文件扩展名: https://gist.github.com/jamiebuilds/dbb1d7464e944a1b275df642cadd3aa1
我想我不知道这会如何影响不同的Windows用户。如果有人输入了自己的文件扩展名,他们会期望这个扩展名被尊重吗?
vaj7vani3#
这个问题已经被自动标记为过时。如果这个问题仍然影响到你,请留下任何评论(例如“提升”),我们会保持开放。如果你有任何新的附加信息——特别是,如果这个问题在 latest version of Electron 或 beta 中仍然可复现——请在你的评论中包含它!
fgw7neuy4#
bump
pcrecxhr5#
这个问题已经被自动标记为过时。如果这个问题仍然影响到你,请留下任何评论(例如“提升”),我们会保持开放。如果你有任何新的附加信息——特别是,如果这个问题在 latest version of Electron 或 beta 中仍然可复现——请在你的评论中包含它!
mspsb9vt6#
bump