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

Node.js上传文件遇Unknown system error -122错误如何解决?

解决Node.js上传文件时出现Unknown system error -122的问题

错误信息:

message : 
"Error: Unknown system error -122: Unknown system error -122, open 'fooBar/file-sample_150kB.pdf'"
_status: 500
  • 核对文件路径
    确认fooBar/file-sample_150kB.pdf的路径有效性:

    • 相对路径是基于Node.js进程的工作目录,而非脚本所在目录,可通过console.log(process.cwd())打印当前工作目录验证
    • 路径若包含特殊字符、空格,改用绝对路径或者对特殊字符转义
  • 检查文件状态与权限

    • 确认fooBar目录下确实存在file-sample_150kB.pdf文件
    • 给Node.js进程赋予文件读取权限:Linux/macOS执行chmod +r fooBar/file-sample_150kB.pdf,Windows右键文件设置读取权限
  • 排查系统层面问题

    • 错误码-122对应Linux的ENOTRECOVERABLE,大概率是系统底层资源异常,尝试重启Node.js进程或服务器
    • 检查磁盘剩余空间,避免因磁盘满导致文件读取失败
  • 优化文件操作代码

    • 上传前先预检查文件可用性,用fs.access()提前捕获异常:
      const fs = require('fs').promises;
      
      async function checkFileAccessible(path) {
        try {
          await fs.access(path, fs.constants.R_OK);
          return true;
        } catch (err) {
          console.error('文件不可访问:', err);
          return false;
        }
      }
      
    • 确保文件读取流操作完成后正确关闭,防止资源泄漏

内容的提问来源于stack exchange,提问作者Raphaël Balet

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 07:30:03