2014-10-09 2 views
0

Я использую connect-multiparty с Express4/Node/Angular. Запустив его локально, при загрузке файла, я получаю ошибку «ENOENT open», когда я указываю «uploadDir», но он работает с параметром multipart() по умолчанию.«ENOENT, open» при использовании connect-multiparty param 'uploadDir' (Express 4)

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

код: (построен на вершине генератора-углового-fullstack) = переменная конфигурации требуется ('../../ конфигурации/среда'); 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 и новейшим соединением-многопартийностью.

Если ошибка означает «нет каталога существует», тогда мне нужно вручную создать каталог? примеры и документация не упоминают об этом.

Должен ли я использовать относительные пути, например, ive, используемые выше?

EDIT 1: Я попробовал следующий и еще такую ​​же ошибку:

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

ответ

0

__dirname не добавляет / до конца.

Изменить это:

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

к этому:

__dirname + '/../../../upload_image_dir' 
Смежные вопросы