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 に答える