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

Photoshop脚本报错:selectedFile.open("r")不是函数,原因何在?

问题原因及解决办法
  • 错误根源:你设置了multi_select = true,此时File.openDialog()返回的是文件对象数组,而非单个File实例。数组没有open()方法,因此触发报错。
  • 解决办法分两种场景:
    1. 仅需选择单个文件:把multi_select = true改为multi_select = false,此时返回单个File对象,原代码的selectedFile.open('r')即可正常执行。
    2. 需要选择多个文件:遍历返回的文件数组,逐个处理每个文件,示例代码如下:
      var prompt = "Elegir cuadro de materiales"
      var filter = "*";
      var multi_select = true;
      
      var selectedFiles = File.openDialog([prompt], filter, multi_select);
      
      // 先判断是否选中文件,避免用户点击取消后报错
      if (selectedFiles) {
          // 遍历每个选中的文件
          for (var i = 0; i < selectedFiles.length; i++) {
              var file = selectedFiles[i];
              file.open('r');
              var dataToGet = file.readln();
              file.close();
          }
      }
      
  • 额外提示:调用openDialog后建议先判断返回值是否为空,防止用户点击取消操作后出现空值报错。

内容的提问来源于stack exchange,提问作者Omar Gonzales

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 14:36:23