- - PR -
Httpによるファイル転送プログラム
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-03-27 17:34
甕星様
書き込みありがとうございます。 最初の書き込みにも書いたのですがINETコントロールを使用した場合、 以下がわかりません。 Inet1.URL = "http://localhost/UploadTest/" ' HTTPアドレスを指定 Inet1.Protocol = icHTTP ' 接続方法を指定 Inet1.Execute , "PUT " ここで「PUT」すればできるのかと考えているのですがどのようにすればよいかわかりません。いろいろやってみて、既にサーバー上に存在するファイルの中身を変えたりはできたのですが、新規にファイルをサーバーに追加することがうまくできません。 現在はWebDAVに対応したサーバーでテストしています。 よろしければサンプルコードを書いていただきたいのですが。 またWinInetAPIのサンプルコードがあれば提示していただきたく思っております。 お願いごとばかりして申し訳ありません。よろしくお願いします。 | ||||||||
|
投稿日時: 2006-03-27 20:45
あまり良く分からないのですが、PUT でないとダメなのでしょうか。PUT でも良いのかもしれませんが、POST でアップロードするほうが枯れていてツブシが効いて良いかな、と思いました。POST とは <input type="file"> でブラウザーがアップロードするのと同じ形式のことです。
POST だと、受け側(アップロードを受けるサーバー側)のプログラムも必要になるのかもしれませんが、もし、サーバー側でこのようなプログラムを動かすことが可能なら POST も検討されたほうが良いかもしれません。 | ||||||||
|
投稿日時: 2006-03-27 22:37
unibon様
書き込みありがとうございます。 POSTでアップロードするのでもかまいません。 以下のようにプログラムを書いたのですがうまくいきません。ASP.netは反応しております。アップロードしたいファイルの情報が転送できません。 「Content-Type: multipart/mixed」等の設定の仕方がよくわかっていないのが原因かと考えています。 Inet1.Execute "http://localhost/UploadTest/Index.aspx", "POST", "d:\\UploadTest.jpg" VB.netで以下のようにするとうまくアップロードすることはできます。 Dim URL As String = "http://localhost/UploadTest/Index.aspx" Dim File As String = "d:\\UploadTest.jpg" Dim Wc As System.Net.WebClient = New System.Net.WebClient Wc.UploadFile(URL, "Post", File) これと同等の機能をVB6.0で実現したいのですがうまくいきません。 どうすればうまくいくかご存知ならご教授ください。 | ||||||||
|
投稿日時: 2006-03-28 07:05
#INETコントロールでPUTはやったこと無いです。 WEBサーバーにファイルをアップロードするのですから、アップロードする元となるファイルを指定する必要がありますよね。
↑のようになるはずです。 「出来ない」じゃなくて、なんと言うエラーになったのか等、状況を正確に書くようにしましょう。 | ||||||||
|
投稿日時: 2006-03-28 19:07
POSTでアップロードすることで解決しました。
ご協力いただいた皆様ありがとうございました。 | ||||||||
|
投稿日時: 2006-03-29 22:46
そっち方面に落ち着きましたか。良かったです。
|