TNMHTTPについて


ほとちゃん  2004-03-22 23:53:55  No: 7864

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');

なのでしょうか?


にしの  2004-03-23 00:14:59  No: 7865

TNMHTTPを知らないので検索した結果からですが、サーバに送るのですから、InputFileModeでなく、OutputFileModeでは?


ほとちゃん  2004-03-23 00:18:09  No: 7866

失礼しました。
OutputFileMode := True;
でした。

ちなみにTNMHTTPはDELPHI5 Professionalに
標準で付いているコンポーネントです


にしの  2004-03-23 05:54:38  No: 7867

こちらの環境は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
などを参考にしてください。


ほとちゃん  2004-03-24 04:55:28  No: 7868

HeaderInfoにIDとPasswordを設定しているのですが、
エラーになってしまいます。

どうしてなのでしょうか?


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加