2
我想通过使用multipart/form-data内容类型的http模块从节点JS发送文件。 二进制编码的问题。 这是确定的,当我尝试发送简单的文本文件:节点JS POST多部分/表单数据请求
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 modile)后,发送类似JPG和翻译缓冲区,以字符串请求主体它失败。我尝试了Buffer.toString(编码)方法和content-transfer-encoding:编码标头的不同组合,但没有成功。出于某种原因,base64编码不起作用,我用连接bodyParser测试了它,似乎并不在乎content-transfer-encoding:base64正文中的标头 - 内容仍然是未解码的base64字符串。
而且我不想使用像node-formidable或express这样的外部模块来解决我的问题。
谢谢。
或许添加你如何解决它的未来用户的例子来解决呢? – jamietelin