Javascript 在节点中编写的restapi应该如何使用通过Fetch发布的Blob或文件

Javascript 在节点中编写的restapi应该如何使用通过Fetch发布的Blob或文件,javascript,node.js,rest,amazon-s3,aws-sdk,Javascript,Node.js,Rest,Amazon S3,Aws Sdk,我试图使用javascript客户端通过FetchAPI发布的文件。发布文件的代码是 fetch(URL + `?userId=${userId}`, { method: 'POST', body: file, mode: 'cors', }) 然而,在那之后,我几乎陷入了困境。我已确认数据已到达服务器;请求主体的控制台日志的初始部分如下所示 '�PNG\r\n\u001a\

我试图使用javascript客户端通过FetchAPI发布的文件。发布文件的代码是

fetch(URL + `?userId=${userId}`, {
                    method: 'POST',
                    body: file,
                    mode: 'cors',
})
然而,在那之后,我几乎陷入了困境。我已确认数据已到达服务器;请求主体的控制台日志的初始部分如下所示

'�PNG\r\n\u001a\n\u0000\u0000\u0000\rIHDR\u0000\u0000\u0003�\u0000\u0000\u0001[\b\u0003\u0000\u0000\u0000q�T$\u0000\u0000\u0000\u0019tEXtSoftware\u0000Adobe ImageReadyq�e<\u0000\u0000\u0004\niTXtXML:com.adobe.xmp\u0000\u0000\u0000\u0000\u0000<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?> <x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.0-c060 61.134777, 2010/02/12-17:32:00 "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmpMM:OriginalDocumentID="uuid:5D20892493BFDB11914A8590D31508C8" xmpMM:DocumentID="xmp.did:2F839FC615A411E59862C6F48B7A3782" xmpMM:InstanceID="xmp.iid:53BEB19215A311E59862C6F48B7A3782" xmp:CreatorTool="Adobe Photoshop CC 2014 (Macintosh)"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:c05de654-a6ec-48fe-a042-605a15ba7cb1" stRef:documentID="adobe:docid:photoshop:83a9cc7e-5f57-1178-84a4-89d29074af5a"/> <dc:title> <rdf:Alt> <rdf:li xml:lang="x-default">_BeforeAfter</rdf:li> </rdf:Alt> </dc:title> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>\u001bO/ \u0000\u0000\u0003\u0000PLTE>`����Ff�k��x�������悔�Hf�Bd���ޯ�����=^�Gh�������������a{�Un�Hh���

我在看什么样的编码,节点是否有办法将其转换回blob或文件对象,以便与AWS S3 SDK的putObject方法一起使用?

您可以使用
multer
接收客户端上载的文件。我遇到了busboy,现在正试图将图像文件作为多部分/表单数据发送。我选择busboy是因为我的使用者是AWS lambda函数,这意味着我无法访问express公开的中间件层。我仍在试图找出如何使用busboy生成的文件流,以便将其写入S3存储桶。请确保您也使用了正确的字符编码。ASCII不能使用UTF8字符。我在服务器上检查过,busboy表示编码是7bit,与ASCII编码匹配。我的问题是,指向PNG文件的javascript文件对象如何被编码成ASCII?为什么我不能从文件对象中获取一个二进制文件,然后发布它?
\u001c\u001c\u0017�F����D����D����D����D���D����D����D����D����D����D����D����D���D����D����D����D����D����D����D���(\b�O�\u0001\u0000�|���!v$\u0000\u0000\u0000\u0000IEND�B`�',isBase64Encoded: false }