これまで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?
ありがとう