- - PR -
複数のファイルを強制的にダウンロード
1|2|3
次のページへ»
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-10-14 11:54
ボタンをクリックすることで、
サーバにある複数のファイルをクライアントの指定の場所に強制的にダウンロードさせるプログラムを作成したいと思っています。 過去ログから難しそうだというのは分かったのですが、どうにかできないか模索中です。 現状、Excelファイルだけですが、どうにか複数ファイルをダウンロードする仕組を作成してみました。(以下、JavaScriptソース) ------------------------------------------------------------------------ var objExcelApp = new ActiveXObject("Excel.Application"); objExcelApp.Workbooks.Open("http://(サーバ名)/(パス名)/(ファイル名)",0,true); objExcelApp.ActiveWorkbook.SaveAs("d:\\(ファイル名)"); objExcelApp.ActiveWorkbook.Close(); objExcelApp = null; ------------------------------------------------------------------------ これだとエクセルファイルであれば、複数ファイルを指定の場所に保存可能です。 現在以下のことで悩んでいます。 ・ マクロ付きエクセルの場合、開いたときに実行されてしまう。 ・ エクセルファイル以外の場合、同じような方法がないか? 何かヒントとなるような情報でもあれば是非お願いします!! | ||||
|
投稿日時: 2005-10-14 12:06
どもです。がると申します。
んっと…真っ向からの否定的見解で大変に恐縮ではあるのですが。 NA(-_-)MIさんの希望されている挙動は、複数の観点から 「無理」でもあり「危険」でもあります。 まず第一に、HTTPというのは基本的に「サーバ側の挙動」 を中心に規定されているものであって、クライアント側が 最終的にどのような挙動をするのかについては規定がない です。 また、「クライアントの指定の場所に強制的にダウンロードさせる」 という挙動はセキュリティ上限りなく危険であるために、 そういった手段はまず大抵用意されません。 # 用意されるとどこかから「これは脆弱性だ」と叩かれて # 結局NGになります。 どういった経緯でそのような仕様になったのかは不明ですが。 全力で仕様変更することをお勧めいたします。 | ||||
|
投稿日時: 2005-10-14 12:32
JavaScriptでは無理でしょう。
IEでサポートされているActiveXでのファイル操作では、 テキストファイルまでしか操作できません。 XMLHTTPでバイナリを取得しても、 今のIEではADODB.Streamの使用が許可されていませんので、 バイナリをローカルのファイルシステムに落とすのは無理です。 VBやVC++等でActiveXコントロールを作成するのはいかがですか? #正直、がるがるさんと100%同じ意見です。 #設計の見直しをするのが一番かと。 | ||||
|
投稿日時: 2005-10-14 13:09
ご意見ありがとうございます。
イントラネットのシステムで、 Webを使って毎月いくつかのファイルを支店に配布するようなことを考えています。 信頼済みサイトにすることは可能だったのでどうにかならないかと思った次第です。 ASPやASP.NETでのアプリはいくつか作成したことがありますが、 ActiveXコントロールを作ったことがなかったもので。。 ActiveXコントロールを検討してみます。 ありがとうございました。 | ||||
|
投稿日時: 2005-10-14 13:57
Webにする必要があるんですか? | ||||
|
投稿日時: 2005-10-14 14:08
・クライアントにソフトをインストールしたくない ・現在使っているWebのグループウェアと連携した業務プログラムとしたい という要件でWebになりました。 他に良い案があれば教えてください。 | ||||
|
投稿日時: 2005-10-14 14:26
「必ずダウンロードしてください」という決まりを作れば、通常どおりのユーザ確認つきダウンロードでいいと思うんですが。
ダウンロードしてなかったら、それはその支店の問題なんだし。 | ||||
|
投稿日時: 2005-10-14 14:37
5ファイルを同じ場所に格納してもらい、
そのうちの一つ(エクセル)を実行することで クライアントで単体のプログラムを実行させる仕組です。 現在はフロッピーで配布しているのですが、 情報セキュリティ対策でフロッピーの使用禁止にするためにWebにしようとしています。 ユーザには保存場所を意識させたくないので、 ユーザ確認付きは避けたいところなのです。 PC初心者も多いのでできるだけ「ボタンを押すだけ」のような仕組を考えています。 ご意見ありがとうございます。 少ない頭でもう少し考えてみます。 |
1|2|3
次のページへ»