首页 文章

'ENOENT, open'使用connect-multiparty param时'uploadDir'(Express 4)

提问于
浏览
0

我正在使用带有Express4 / Node / Angular的connect-multiparty . 在本地运行,在文件上传时,当我指定'uploadDir'时,我收到'ENOENT open'错误,但它适用于默认的multipart() .

错误:ENOENT,打开'upload_image_dir / 83785-xjohos.png'POST / api / providers / me / 543695a47be1540000a4fedc / upload / image 400 20ms - 63b

代码:(构建在generator-angular-fullstack之上)var config = require('../../ config / environment'); var multipart = require('connect-multiparty'); var router = express.Router();

// ... more routes

router.post('/me/:id/upload/image', auth.isAuthenticated(), multipart({ uploadDir: './upload_image_dir' }), controller.upload_image);

我哪里错了?

旧帖子引用BodyParser引起的问题,但快递4和最新的连接多方不是这样 .

如果错误意味着“没有目录存在”,那么我是否需要手动创建目录?示例和文档没有提到它 .

我应该使用像上面使用过的相对路径吗?

编辑1:我尝试了以下但仍然是同样的错误:

router.post('/me/:id/upload/image', auth.isAuthenticated(), multipart({ uploadDir: __dirname + '../../../upload_image_dir' }), controller.upload_image);

1 回答

  • 0

    __dirname 不会在末尾添加 / .

    改变这个:

    __dirname + '../../../upload_image_dir'
    

    对此:

    __dirname + '/../../../upload_image_dir'
    

相关问题