- PR -

ASP.NETでWEBサーバーに定期的にファイルをUPLOADする方法

1
投稿者投稿内容
MINORIN
会議室デビュー日: 2003/02/04
投稿数: 4
投稿日時: 2003-04-10 10:12
WEB超初心者です。見当違いの事をお聞きしたらすいません。
実現したいことですが
クライアントのフォルダにあるファイルを一定間隔で指定したWEBサーバーに
アップロードをASP.NETで実現したいと思っています。

ASP.NETに「File1.PostedFile」という機能がありまして
もちろんファイルを人が指定し実行すればuploadできます。

*************************************参考です
If Text1.Value = "" Then
Span1.InnerHtml = "エラー: ファイル名を入力する必要があります"
Return
End If

If Not IsNothing(File1.PostedFile) Then
Dim filepath As String = Path.Combine(Path.GetTempPath(), Path.GetFileName(Text1.Value))

Try
File1.PostedFile.SaveAs(filepath)
Span1.InnerHtml = "ファイルが Web サーバーの <b>" & filepath & "</b> に正しくアップロードされました"
Catch Exc As Exception
Span1.InnerHtml = "次のファイルの保存でエラーがありました: <b>" & filepath & "</b><br>" & Exc.ToString()
End Try
End If
****************************************************************

ただ、今回やりたいことは自動で定期的にuploadしたいです。
いろいろJAVASCRIPTなど組み合わせてやろうとしましたが
検討がつきません。
実現可能か不可能かの判断もつきませんので
ご教授願えたらと思います。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2003-04-10 11:01
こんにちは。
引用:

MINORINさんの書き込み (2003-04-10 10:12) より:

実現したいことですが
クライアントのフォルダにあるファイルを一定間隔で指定したWEBサーバーに
アップロードをASP.NETで実現したいと思っています。


 「一定間隔」というのは、「継続的に」という意味ですよね。JavaScriptで一定時間ごとにイベントを発生させるような方法ではダメでしたか?サーバサイドのスクリプトでは無理だと思います。

 詳しくはわからないのですが、「5秒後にジャンプ(移らない場合は下のリンクをクリック)」と書かれたページがありますよね。こういう感じで特定のページを表示させ、そのページのLoad時にアップロード。アップロード後にまた元のページへジャンプする。という感じ。


 ところで、ASP.NETということは、IEでそのページを表示し続けていなければなりませんが、それでOKですね?
MINORIN
会議室デビュー日: 2003/02/04
投稿数: 4
投稿日時: 2003-04-10 11:31
Jittaさんお返事有難うございます

 詳しくはわからないのですが、「5秒後にジャンプ(移らない場合は下のリンクをクリック)」と書かれたページがありますよね。こういう感じで特定のページを表示させ、そのページのLoad時にアップロード。アップロード後にまた元のページへジャンプする。という感じ。

なんとなくジャバスクリプトで定期的にリロードをかけてフォームロード時に処理をすればできる
んじゃないかと思ったのですが
フォームロード時にどういうようにすれば実現できるかが検討つきません
(どう、クライアントのファイルをロード時に認識させるかです)
質問にも書きましたとおり人間にファイルを選択させればできるんですが・・・
そうすると自動にならないです。

宜しくお願いします。
NothingButXMLInfoSet
ベテラン
会議室デビュー日: 2003/03/31
投稿数: 65
投稿日時: 2003-04-10 12:23
Webアプリケーション+Webブラウザでないとダメですか?ダメということであれば下記の書き込みは無意味ですので無視してください。

例えばこの記事にあるような仕組みを使って、Webサービスとして実現することはわりと簡単にできます。クライアント側で自動実行する仕組みはいろいろ考えられますが、例えばWindowsなら「タスク」の機能で一定間隔でプログラムを実行できますし、アプリケーションを立ち上げっぱなしにしてタイマーを利用する方法も考えられます。
Cluster
ぬし
会議室デビュー日: 2003/03/06
投稿数: 289
お住まい・勤務地: 大阪
投稿日時: 2003-04-10 13:30
クライアントがWebブラウザだけの場合、「原理的に」絶対不可能だと思います。

#そんなことが出来たら、巨大なセキュリティホールになってしまいます。

JavaアプレットやActiveX等を組み合わせるとか、NothingButXMLInfoSetさんが
指摘しているようにWebサービスを利用するクライアントを自作するか、
とにかくWebブラウザ以外の(又はWebブラウザを拡張した)クライアントが
必要だと思います。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2003-04-10 15:25
こんにちは。

 質問の範囲がよくわからないのですが、

1.クライアントにあるファイルを特定する方法
2.1のファイルを、サーバへ送信する方法
3.2を定期的に行う方法
4.3のため、1のファイルを継続的に認識する(覚えておく)方法

の、4つありますか?
MINORIN
会議室デビュー日: 2003/02/04
投稿数: 4
投稿日時: 2003-04-10 16:37
Jittaさん。やりたいことが重なり説明がおかしくなりました。
1.クライアントにあるファイルを特定する方法
2.1のファイルを、サーバへ送信する方法
3.2を定期的に行う方法
4.3のため、1のファイルを継続的に認識する(覚えておく)方法

上記で実現したいことは
1と2です。
クラインアントにあるファイルを特定し自動でサーバーに送信するです。

宜しくお願いします。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2003-04-11 09:01
>>1.クライアントにあるファイルを特定する方法
 ファイルが決まった場所にあるのなら、ハードコーディングするのが(是非は別として)一番簡単だと思います。ファイルのパス名に何らかの規則があるなら、その規則をコーディングします。どこにあるのかわからないなら、ユーザに教えてもらうしかないと思います。


>>2.1のファイルを、サーバへ送信する方法
 ここを「アップロード」をキーにして検索すると、こんなスレッドが見つかりました。CGIを作って対応しているそうです。参考になりますでしょうか。
1

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