2015-08-11 2 views
2

Я использую приложение Node.js в качестве прокси для веб-службы. Я могу передать простой запрос application/json с body-parser, но он не может обрабатывать multipart/form-data.NodeJS Request error send multipart/form-data

Для этого я пытаюсь использовать request модуль, но у меня есть ошибки, когда я прикрепить файлы к запросу:

 
Error: write after end 
    at ClientRequest.OutgoingMessage.write (_http_outgoing.js:413:15) 
    at Request.write(./node_modules/request/request.js:1362:25) 

Вот код, который вызывает эту ошибку:

var form_data = {}; 

      for (var key in req.files){ 
       form_data[req.files[key].fieldname] = fs.createReadStream(req.files[key].path); 
       log.debug("File :", req.files[key].fieldname) 
      } 

      var multipart_request = request_module({ 
       url: 'http://example.com', 
       method: ‘POST’, 
       headers: req.headers, 
       body: JSON.stringify({<some content here>}), 
       formData: form_data 
      }, function(error, response, body){ 

       if(error){ 
        log.debug(error); 
        res.status(500).send('{"message": "Server error.}'); 
       } 
       else{ 
        res.status(response.statusCode).send(body); 
       } 

      }); 

Это другое решение для этого?

+1

Я не думаю, что вы можете иметь как «тело», так и «formData». Вы пытались оставить «тело»? – mscdex

+0

Это была ошибка, я удалил тело и сейчас работает, спасибо! – YoussefElManssouri

ответ

2

Если у вас есть form или formData, вы также не можете найти body в своих запросах.