节点JS POST多部分/表单数据请求

我想通过http模块使用multipart / form-data内容types从Node JS发送文件。 二进制编码的问题。 当我试图发送简单的文本文件时没关系:

url: 'some-site.com', method: 'POST', headers: { 'content-type': 'multipart/form-data; boundary=-----BNDRY', 'content-length': 128 }, body: '-------BNDRY\r\ncontent-type: text/plain\r\ncontent-disposition: form-data; name="file"; filename="file.txt"\r\n\r\ntest\r\n-------BNDRY--' } 

但是,当我试图发送文件后读取文件(例如通过FS模式),并将缓冲区string请求正文发送失败。 我尝试了Buffer.toString(encoding)方法和content-transfer-encoding:encoding header的不同组合,但没有成功。 出于某种原因,base64编码也不能工作,我已经用bodyParser进行了testing,好像它不关心内容传输编码:body64中的标头 – 内容仍然是未解码的base64string。

而且我不想使用像node-strongidable或express这样的外部模块来解决我的问题。

谢谢。

我通过使用Buffer而不是String来解决它