- PR -

Httpによるファイル転送プログラム

投稿者投稿内容
JAVA素人
常連さん
会議室デビュー日: 2004/06/15
投稿数: 22
投稿日時: 2006-03-25 16:20
現在、クライアントPCからWEBサーバーに対してHTTPによるファイル転送プログラムを作成しようと考えています。

FTPによるプログラムは作成することはできました。
しかし、サーバーはFTPに対応していないため、HTTPによって作成する必要が起こりました。サーバーのFTPへの対応をお願いしましたが、サーバーはお客様のものなのでFTPに対応することはできないという回答がきました。

プログラムはVBで作成しています。WEBサーバーはApacheで構築されています。

とりあえずInetコントロールで以下ようにプログラムしてみました。

Inet1.URL = "http://localhost/UploadTest/" ' HTTPアドレスを指定
Inet1.Protocol = icHTTP    ' 接続方法を指定

Inet1.Execute , "PUT "

ここで「PUT」すればできるのかと考えているのですがどのようにすればよいかわかりません。いろいろやってみて、既にサーバー上に存在するファイルの中身を変えたりはできたのですが、新規にファイルをサーバーに追加することがうまくできません。

Inetコントロールでなくても結構なのでなにかいいやり方があればご教授ください。
httpによってファイルが転送できればよいです。
よろしくお願いします。
YAS
ベテラン
会議室デビュー日: 2006/02/15
投稿数: 59
投稿日時: 2006-03-25 16:32
言語はなんですか?
とりあえず下を参考にしてください。

Visual C# .NET を使用して Web サイトにファイルをアップロードする方法
http://support.microsoft.com/default.aspx?scid=kb;ja;816150
YAS
ベテラン
会議室デビュー日: 2006/02/15
投稿数: 59
投稿日時: 2006-03-25 16:45
ごめんなさい。
上のリンクでは質問にお答えしていませんね。

HttpでPUTはセキュリティ上できるものなのですか?まずサーバーの設定を確認したらよいと思います。

また,Httpでファイル転送というとWebDAVという感じがするのですが,これもサーバーの設定によると思います。

とにかくまず,サーバーのApacheの設定を確認するべきだと思います。
JAVA素人
常連さん
会議室デビュー日: 2004/06/15
投稿数: 22
投稿日時: 2006-03-26 00:38
YAS様

さっそくのお返事ありがとうございます。

言語はVBです。WebDAVには対応しております。

説明が悪くて申し訳ありません。
ASP.netによるアップロードの仕方は解ります。

今回はFFFTPのようなソフトのHTTP版を考えております。クライアントにアプリケーションをダウンロードしインストールし、そのアプリケーションを起動してファイルをアップロードしたいのです。

よろしくお願いします。
加納正和
ぬし
会議室デビュー日: 2004/01/28
投稿数: 332
お住まい・勤務地: 首都圏
投稿日時: 2006-03-26 01:57
引用:

JAVA素人さんの書き込み (2006-03-26 00:38) より:
今回はFFFTPのようなソフトのHTTP版を考えております。クライアントにアプリケーションをダウンロードしインストールし、そのアプリケーションを起動してファイルをアップロードしたいのです。



。。。セキュリティは無視ですか。そうですか。

って感じですが、、、それとも自分でWinny(を超えるサーバ)を作りたいのだろうか。
いや、同一性も理解できないのだろうけど。

イントラネットだから大丈夫?あー、それにしてもセキュリティ無視しすぎです。
いくらなんでも(クライアント部分の)Windows OSか、あるいはWebサーバが、その処理
を止めてるかと。

もちろん、まったくなしぢゃないでしょうから(FTPはまさかAnonymous??)
HTTPでどのように認証するかを考えた方がいいような気も。

でも、認証をまるで考えず、ファイル内容を変更できるサーバもすごいけど。。。

それとも認証は完璧なのかな。
YAS
ベテラン
会議室デビュー日: 2006/02/15
投稿数: 59
投稿日時: 2006-03-26 09:30
>言語はVBです。WebDAVには対応しております。

それでしたら,WebDAVでファイル転送するのが楽だと思います。
それでいいのか悪いのかは私にはわかりませんが,WebClientクラスで簡単にできませんか?

「お客様」のサーバーだそうですので,セキュリティに配慮し,慎重に仕様をお決めになってください。
JAVA素人
常連さん
会議室デビュー日: 2004/06/15
投稿数: 22
投稿日時: 2006-03-26 18:07
お返事ありがとうございます。

WebClientクラスで作成したところアップロードすることができました。

WebClientクラスはVB.netに対応したクラスだと思うのですがVB6.0で作成する場合は
どのクラスを使用すればよろしいのでしょうか?ご存知であればご教授ください。

また、WebDAVに対応していないサーバーで同様な機能を作成する場合はどのようにすればよろしいのでしょうか?

質問が多くて申し訳ありません。

認証方法はお客様ともう少し詰めてみます。もし認証方法をこうしたほうがいいということがあればご教授くささい。
甕星
ぬし
会議室デビュー日: 2003/03/07
投稿数: 1185
お住まい・勤務地: 湖の見える丘の上
投稿日時: 2006-03-26 22:09
引用:

JAVA素人さんの書き込み (2006-03-26 18:07) より:
お返事ありがとうございます。
WebClientクラスはVB.netに対応したクラスだと思うのですがVB6.0で作成する場合は
どのクラスを使用すればよろしいのでしょうか?ご存知であればご教授ください。


INETコントロールを使います。リファレンスを見た限りでは、HTTPのPUTに対応しているので出来るはずです。・・・ですが、使いにくいコントロールなのでお勧めはしません。WinInetAPIを使った方がらくだと思います。


引用:

また、WebDAVに対応していないサーバーで同様な機能を作成する場合はどのようにすればよろしいのでしょうか?


冷静に考えてみてください。ファイルの書込みが出来ないように設定(構成)されているWEBサーバーで、ファイルの書込みが出来るわけないでしょう。HTTP以外のプロトコル・・・例えばFTPやSambaを使って書き込みような方法を検討してください。

スキルアップ/キャリアアップ(JOB@IT)