- PR -

アップロードについて

1
投稿者投稿内容
SL
大ベテラン
会議室デビュー日: 2008/05/02
投稿数: 183
投稿日時: 2008-10-25 23:14
お世話になります。

クライアント側からファイルをアップする方法について教えてください。
アップするファイルは、固定でいくつかの決まった場所にある決まった名前のファイルです。
これをボタン一つでアップしようと思いますがこの方法は、実現可能でしょうか?
「Insider.NET 会議室 > ディレクトリ > Web Application > アップロード 」
内にもいくらか情報があるようですがよくわかりません。
やりたいことは、

\\PC1\abc\xxx1.FIL
\\PC2\abc\xxx2.FIL
\\PC3\aaa\xxx3.FIL

をリストかDBか何かに保存しておいてボタンを押すとこれらをアップする。
そこで、下記のようなことをすると読み込み専用と言ってうまくいかない。
FileUpload1.FileName = "\\\\PC1\\abc\\xxx1.FIL";

ファイルアップロードは、コントロールで選択以外コードでファイルを指定する
ことはできないのですか?
また、このようなやり方を実現することはできるのでしょうか?教えてください。

ASP.NET C#
べる
ぬし
会議室デビュー日: 2003/09/20
投稿数: 1093
投稿日時: 2008-10-25 23:26
できないようになっています。
重要情報が含まれているファイルを勝手にアップされてはこまりますからね。
やんち
常連さん
会議室デビュー日: 2008/10/24
投稿数: 32
投稿日時: 2008-10-26 01:56
セキュリティの問題で、ファイルアップロードは、ユーザ操作でダイアログからするようになっています。

どうしても必要なら、ActiveXコンポーネントを作成して、クライアント環境にインストールすれば、セキュリティを無視して、ファイルアップロードも可能と思いますが、お勧めは出来ません。
SL
大ベテラン
会議室デビュー日: 2008/05/02
投稿数: 183
投稿日時: 2008-10-26 08:46
お世話になります。

そうですか、無理ですか。

たとえば、次のようなことはできますか?
1.ftp://\\123.456.789.012/.....に対してボタン1つで自動でアップする。
というようなこと。それとも、
2.ウインドウズアプリに切り替えてっコピーしたほうが安全。
ということでしょうか?

この、ftpアドレスは、館内のLAN専用で外部からはファイヤウォールでブロックされているのアクセスできない構造になってます。
べる
ぬし
会議室デビュー日: 2003/09/20
投稿数: 1093
投稿日時: 2008-10-27 07:50
引用:
1.ftp://\\123.456.789.012/.....に対してボタン1つで自動でアップする。

クライアントのどのファイルをアップするかはどうやってきめるんですか?
ユーザーがファイル選択ダイアログで決めるのなら、ボタン1にはなりませんができます。

引用:
2.ウインドウズアプリに切り替えてっコピーしたほうが安全。
ということでしょうか?

この選択肢があるなら安全というよりいろいろ楽だと思います。
SL
大ベテラン
会議室デビュー日: 2008/05/02
投稿数: 183
投稿日時: 2008-10-27 13:36
お世話になります。

> クライアントのどのファイルをアップするかはどうやってきめるんですか?
別のページでファイルを選択しクッキーに保存しアップするページでは、そのパスを取得して送ろうかと思ってます。

> この選択肢があるなら安全というよりいろいろ楽だと思います。
はい、色々制約やセキュリティが大変そうなのでこうしようかなって少し思ってます。
もう少し、Webアプリでの可能性やらセキュリティなど調べてどうするか決めようと思ってます。
べる
ぬし
会議室デビュー日: 2003/09/20
投稿数: 1093
投稿日時: 2008-10-27 23:35
引用:
別のページでファイルを選択しクッキーに保存しアップするページでは、そのパスを取得して送ろうかと思ってます。

クッキーにある値を直接使用してアップロードさせることはできません。クッキーもサーバから設定可能ですから。

要は<input type="file" を出力しているページが、[ファイルダイアログで選択]→[アップロード]、
この間にサーバからのレスポンスで書き換えられると、もうファイルパスを復元できません。

「別のページでファイルを選択し」この時点でアップさせちゃって、あとは見せ方で工夫する、なら
(具体的にどういうものを作りたいのかはわからないが)、できるとおもいます。

上記で「〜を出力しているページが」と書きましたが、別のtarget(見えないiframeとか。)へ
postするだけならファイルパスの内容は当然消えません。これを利用して工夫することも考えられます。
「確認画面から戻ったらファイルパスが消えちゃう問題」をこれで解決したことがあります。
SL
大ベテラン
会議室デビュー日: 2008/05/02
投稿数: 183
投稿日時: 2008-10-28 13:07
お世話になります。

> この間にサーバからのレスポンスで書き換えられると、もうファイルパスを復元できません。
> 別のtarget(見えないiframeとか。)へpost...

そうですよね。サーバからも更新可能でもんね。Webあぷりで決まったファイルをアップするというのは、ちょっと難しそうですね。
いつも選択すれば可能のようですが.....
1

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