- - PR -
HTTPファイルアップロード(WebClient.UploadFile)をC++で作成したい
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-11-17 15:22
HTTPもこちらも初心者です。
参考記事: [ASP.NET]アプリケーションからASP.NETサイトにファイルをアップロードするには? http://www.atmarkit.co.jp/fdotnet/dotnettips/323uploadfile/uploadfile.html FTPが実装できないサーバへHTTPでファイルアップロードをするアプリを作成 しているのですが、うまく動作しません。 アプリはアイコンクリックで起動、VBのWebClient.UploadFileをC++で作成したい ということです。 色々なサイトや本などでサーバー上にどうにかファイルは生成されるようになった のですが、ファイルサイズが0になってしまいます。 HttpConnection::SendRequestに渡している情報は ヘッダ "Content-Length:2196 Content-type:multipart/form-data; boundary=---------------------8c8d85ba0acb8e0" オプション "-----------------------8c8d85ba0acb8e0 Content-Disposition:form-data; name="file"; filename="text.txt" -----------------------8c8d85ba0acb8e0 Content-Type:application/octet-stream Content-Transfer-Encoding: base64 ファイル内容(Base64Encodeテキスト) -----------------------8c8d85ba0acb8e0-- " です。 サーバ側は参考記事のとおり、ASPで受け取ったファイルを固定のフォルダに 書き込むように作成してあります。(HttpPostedFile.SaveAs) また、参考記事にあるVBベースでのアップロード処理を作成して実行してみました。 すると正常にアップロードでき、作成中のアプリと何が違うのかをサーバ側で 確認してみると変数(HttpPostedFile)の値が ・VBベース ContentLength 2196 Integer ContentType "application/octet-stream" String FileName "text.txt" String ・作成中アプリ ContentLength -2 Integer ContentType Nothing String FileName "text.txt" String と異なり、更にRequest オブジェクト内容を見ますと ・VBベース ContentLength 2386 Integer ・作成中アプリ ContentLength 2422 Integer でした。 根本的に処理が違う、足りない、ヘッダ、オプションの編集が違うのか もしお分かりの方がおりましたら、御指摘、御教授願えればと思います。 長くなりましたが、宜しくお願い致します。 |
1