无需使用multipart/form-data(服务器到服务器)上传文件

5
从这个答案https://dev59.com/NHI-5IYBdhLWcg3wwLS3#1695287,我感觉需要使用multipart/form-data才能从浏览器上传文件到服务器。但如果我的用例是从服务器上传文件到另一个服务器,那么如果我将Content-Type设置为application/octet-stream或特定类型如image/png,它不应该也可以工作吗?
我正在一个node.js服务器上进行实验,并使用fs.readFile获取文件内容并使用REST库进行HTTP POST。但读取文件时要使用什么编码方式让我有点困惑。默认情况下,fs.readFile返回Buffer对象。我很想使用binary,但文档这里说它的二进制已被弃用,而应使用Buffer对象。在这里读取文件内容并上传的正确方法是什么?是否可以在不使用multipart/form-data的情况下完成?

1
为什么需要指定编码方式?你能否更新你的问题并附上源代码? - npcode
@npcode,你说得对。我不需要指定任何编码,直接使用Buffer对象就可以工作了,现在我正在使用request npm模块,它可以在请求体中使用Buffer对象。我的困惑来自于最初使用的rest客户端,它是mojito平台的rest客户端http://developer.yahoo.com/cocktails/mojito/api/classes/Y.mojito.lib.REST.html。 - Jithin
1个回答

1

我回答这个问题是因为我找到了我想要的内容。

@npcode 是正确的。我不需要指定任何编码,我可以直接使用Buffer对象并使其正常工作。

我现在正在使用request npm模块,它将Buffer对象用于请求主体。我的困惑来自我最初使用的rest客户端mojito平台的rest客户端


从浏览器上的 JavaScript,如果我只是将文件对象附加到请求主体中,您是否知道可以解析该文件的库?我尝试使用 multerexpress-fileupload,但它们似乎无法正常工作,或者我无法使其正常工作。 - sakib11
我需要你所做的代码示例。 - Inzamam Malik

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接