我正在寻找如何仅使用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�>�\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': ''
}
}
上传简单图片时。我可以看到收到所有数据。但我对如何处理它一无所知。
欢迎任何想法或建议。
谢谢!
答案 0 :(得分:1)
最简单的答案当然是使用Express / Connect / Formidable(从最抽象到最直接的解决方案)。
您也可以通过查看以下内容来自行完成:
我没有看到过解析请求主体和文件上传的其他直接实现。因此,您可以选择阅读源代码并重新创建它们,或者只使用它们。