1

我正在寻找如何仅使用 Node.js 上传文件。我从 Google 下载的每个教程或示例都使用了强大的或快速的。但我想要一个不使用任何库的示例。

当我上传文件时,我将其作为请求数据:

{
    post: {
        '------WebKitFormBoundarySUszotMiE1sXRapA\r\nContent-Disposition: form-data; name': '"file"; filename="img not found.png"\r\nContent-Type: image/png\r\n\r\n�PNG\r\n\u001a\n\u0000\u0000\u0000\rIHDR\u0000\u0000\u0000\u0012\u0000\u0000\u0000\u0014\b\u0002\u0000\u0000\u0000\u000f��\u001d\u0000\u0000\u0000\u0019tEXtSoftware\u0000Adobe ImageReadyq�e<\u0000\u0000\u0003$iTXtXML: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.3-c011 66.145661, 2012/02/06-14:56:27        "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmlns:xmp="http://ns.adobe.com/xap/1.0/" xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmp:CreatorTool="Adobe Photoshop CS6 (Macintosh)" xmpMM:InstanceID="xmp.iid:51B0B079D16D11E1800BF631A3922565" xmpMM:DocumentID="xmp.did:51B0B07AD16D11E1800BF631A3922565"> <xmpMM:DerivedFrom stRef:instanceID="xmp.iid:51B0B077D16D11E1800BF631A3922565" stRef:documentID="xmp.did:51B0B078D16D11E1800BF631A3922565"/> </rdf:Description> </rdf:RDF> </x:xmpmeta> <?xpacket end="r"?>�\u0003�\u0006\u0000\u0000\u0000�IDATxڔ�\u0001\u000e� \b��y/��z2�d=�E��[�\u001c�&gt;�\u001f\f����Ez\u0011�\u0013�{�//�VJ\u0011���a\u001b}\u0015d\u0014ѭ�RJD�*�͆\r�QI\u0013\u001b�y(K�s��$GI���\u0004�5Z\u0001�H\u0013k#E��;)�\r ½\u0017XU�6X[(箒\u001c�\u001c�\u0014��4`',
        'Ù^�a���$�#': '',
        'AJ\u0012���\u0006�\r\u0010\u001aR�N�\u000b\u0013���`T��k�@�V�ߏ�}��\'�\u0000\u0017gp��\u0002��\u0000\u0000\u0000\u0000IEND�B`�\r\n------WebKitFormBoundarySUszotMiE1sXRapA--\r\n': ''
    }
}

上传简单图像时。我可以看到所有数据都已收到。但我只是不知道如何处理它。

欢迎任何想法或建议。

谢谢!

4

1 回答 1

0

最简单的答案当然是只使用 Express/Connect/Formidable(从最抽象到最直接的解决方案)。

您也可以通过查看以下来源自己执行此操作:

我没有看到其他解析请求正文和文件上传的直接实现。所以你的选择是去阅读源代码并重新创建它们,或者只是使用它们。

于 2012-08-05T20:42:42.547 回答