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

如何配置Cloudinary接受所有文件类型?.gb格式Gameboy ROM上传遇阻

解决Cloudinary上传.gb(Gameboy ROM)文件的400错误问题

你遇到的这个Invalid image file错误,核心原因是Cloudinary的uploader.upload()方法默认会把上传内容当作图片类型处理,而.gb属于非媒体类的原始文件,自然会被判定为无效。

关键修复步骤

你需要在cloudinary.uploader.upload()的配置参数里明确指定resource_type: 'raw',而不是在multer的upload.single()中设置(那个位置的配置对Cloudinary的资源类型判定不起作用)。

修正后的代码应该是这样的:

server.post('/publish', upload.single('gamefile'), (req, res, next) => { 
  cloudinary.uploader.upload(req.file.path, 
    { resource_type: 'raw' }, // 这里才是正确的设置位置
    function(result) { 
      console.log(result); 
    }
  );
});

不同资源类型的适用场景

给你整理下Cloudinary主要资源类型的对应范围,方便后续上传其他文件时参考:

  • image:默认类型,适用于所有图片格式(JPG、PNG、WebP、GIF等)
  • video:适用于各类视频文件(MP4、MOV、AVI等)
  • raw:覆盖所有非媒体类文件,比如ROM、文档、压缩包、配置文件等

你之前提到已经按照官方指南设置过resource_type: 'raw',应该是配置位置不对,调整到upload方法的参数里后,应该就能正常上传.gb文件了。等你收到Cloudinary官方回复后,也可以补充更多细节,但当前这个调整应该能解决你的400错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 08:07:14