Plesk部署Express+Multer图片上传接口POST请求无响应问题求助
上传接口Plesk部署失败解决方案
错误原因
你收到的iisnode HRESULT: 0x6d、HTTP subStatus: 1013是Windows主机Plesk环境用IIS托管Node.js服务的典型报错,核心原因是你的代码配置不符合iisnode的运行规则,同时存在目录权限不足的问题。前端的JSON解析错误是因为服务端返回的是IIS的HTML错误页面,不是你预期的JSON格式响应。
修复步骤
- 修复目录权限
进入Plesk站点的文件管理器,找到public/images目录,打开权限设置界面,给IUSR、IIS_IUSRS用户组赋予「修改」「写入」权限,保存后重启站点。 - 替换相对路径为绝对路径
iisnode运行时的工作目录不一定是你的项目根目录,所有路径配置必须用绝对路径,修改以下代码:// 静态资源挂载修改 app.use(express.static(path.join(__dirname, 'public'))); app.use('/image', express.static(path.join(__dirname, 'public', 'images'))) // multer存储配置修改 const storage = multer.diskStorage({ destination: path.join(__dirname, 'public', 'images'), filename: (req, file, cb) => { return cb(null, `${file.fieldname}_${Date.now()}${path.extname(file.originalname)}`) } }) - 修改端口监听规则
iisnode会自动通过管道转发请求,不需要监听固定端口,删除你代码里端口的硬编码兜底,修改为:app.listen(process.env.PORT, () => console.log("Server Started...")); - 检查环境变量配置
确认你在Plesk站点的环境变量设置里已经正确配置了DB_CONNECT等dotenv需要的变量,避免数据库连接失败导致进程崩溃。 - 简化逻辑排查
可以先临时注释掉接口内所有和数据库操作相关的代码,只保留文件存储和返回逻辑,确认文件上传功能正常后再逐步恢复数据库逻辑。
内容的提问来源于stack exchange,提问作者Layaan Shahudhee
相关产品推荐
相关产品推荐

