You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Node.js应用Universal GUI中实现未存在文件/文件夹的保存路径选择功能

Universal GUI 保存路径输入项实现方案
  • 替换UGUI原生的文件/文件夹选择组件,自己开发一个组合控件:包含一个文本输入框用来展示最终路径,加一个触发按钮用来唤起路径选择弹窗,无需依赖UGUI自带的存在性校验逻辑。
  • 直接调用NW.js内置的文件对话框API实现不存在路径的选择,核心代码参考:
    选择保存文件路径(允许目标文件不存在):
    const { dialog } = require('@nwjs/dialog');
    dialog.showSaveDialog({
      title: '选择保存文件路径',
      defaultPath: require('path').join(nw.App.dataPath, 'untitled'),
      filters: [
        { name: '自定义格式', extensions: ['ext'] },
        { name: '所有文件', extensions: ['*'] }
      ]
    }, (savePath) => {
      if (savePath) {
        document.getElementById('save-path-input').value = savePath;
      }
    });
    
    选择保存文件夹路径(允许目标文件夹不存在):
    dialog.showOpenDialog({
      title: '选择保存文件夹路径',
      properties: ['openDirectory', 'createDirectory', 'promptToCreate']
    }, (selectRes) => {
      if (selectRes?.[0]) {
        document.getElementById('save-folder-input').value = selectRes[0];
      }
    });
    
  • 把自定义控件接入UGUI的表单提交流程,提交时直接读取输入框中的路径字符串传给CLI程序即可,你可以按需在前端加路径格式合法性校验,也可以把存在性校验逻辑放到CLI侧处理。
  • 当前基于NW.js的运行方案无需调整,也不需要额外配置Node.js启动器,Web技术栈开发的UGUI应用和NW.js的原生API完全兼容。

内容的提问来源于stack exchange,提问作者Jadian Radiator

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 02:09:03