0

これまでGETを行ったばかりで完全に機能する小さなC#APIがありますが、クライアントがPOST経由でファイルをアップロードできるようにする機能を追加したいのですが、WebフォームやAPIに接続されたものはまだありません。今のところ、Fiddler を使用して POST 経由でファイルをアップロードするだけです

public override string PostAction(string parameters, System.Collections.Specialized.NameValueCollection querystring, string postdata)
    { ..... }

デバッグすると、postdata には、Fiddler が送信した本文全体が含まれていることがわかります。これは、base 64 であると想定しています。

Fiddler2 からのリクエスト本文:

---------------------------acebdf13572468
Content-Disposition: form-data; name="fieldNameHere"; filename="sample_iTunes.mov"
Content-Type: video/quicktime

<@INCLUDE *C:\Users\Public\Videos\Sample Videos\sample_iTunes.mov*@>
---------------------------acebdf13572468--

postdata = であることがわかります

"---------------------------acebdf13572468\r\nContent-Disposition: form-data; name=\"fieldNameHere\"; filename=\"sample_iTunes.mov\"\r\nContent-Type: video/quicktime\r\n\r\n\0\0\0 ftypqt   \0qt  \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\bwide\01�4mdat\0\0�\0\0��\0\0\0\0\0 \0Ĉ�\f�\n1\0\0�3ivx@�\0\0�����x�o�m����6���o�m����6���o�m����6���o�m����6���o�m����6���o�m����6���o�m����6���o�m����6���o�m����6���o�m����6���o�m����6���o�m����6���o�m����6���o�m����6���o�m����6���o�m����6���o�m����6���o�m����6���o�m����6���o�m����6���o�m����6���o�m����6���o�m����6���o�m����6���o�m����6���o�m����6���o�m����6���o�m����6���o�m����6���o�m����6���o�m����6���o�m����6�(a lot more stuff)----acebdf13572468--\r\n" 

ここからファイルを取得する適切な方法はありますか? または、ファイルアウトの部分文字列を作成して (quicktime\r\n\r\n の終わりから ----acebdf13572468--\r\n まで)、Bytes[] file = Convert を実行する必要があります。 fromBase64string?

ありがとう

4

0 に答える 0