TNMHTTPを使用して、ファイル転送を行う
プログラムを作成しています。
PUTメソッドの使用方法がいまいち
わかりません。
NMHTTP1.InputFileMode := True;
NMHTTP1.PUT('http://10.10.10.10/files/a.txt', 'c:\sendfiles/a.txt');
この書き方であってるのでしょうか?
それとも
NMHTTP1.InputFileMode := True;
NMHTTP1.PUT('http://10.10.10.10/files/', 'c:\sendfiles/a.txt');
なのでしょうか?
TNMHTTPを知らないので検索した結果からですが、サーバに送るのですから、InputFileModeでなく、OutputFileModeでは?
失礼しました。
OutputFileMode := True;
でした。
ちなみにTNMHTTPはDELPHI5 Professionalに
標準で付いているコンポーネントです
こちらの環境はDelphi7でして、NMHTTPが使えないため未確認です。
multipart/form-dataなデータを、ファイルに書き込んでやれば、ファイルを送信できるはずです。
OutputFileMode := Trueにすると、指定したファイルの中身をPostDataとして送信します。
例えば、
'c:\sendfiles/a.txt'
の中に、
TEST=ABC
と書かれていれば、CGIによって、TESTという項目にABCが書かれた、と処理されるでしょう。
# cgi-lib.plであれば、($in{'TEST'} eq 'ABC')が真になります
ファイルを送信したいのであれば、multipart/form-dataでエンコードしてやる必要があります。
multipart/form-dataについては、RFC1867
http://www.yo.rim.or.jp/~getsu/document/rfc1867j.txt
などを参考にしてください。
HeaderInfoにIDとPasswordを設定しているのですが、
エラーになってしまいます。
どうしてなのでしょうか?
ツイート | ![]() |