• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ダウンロード後の保存ディレクトリ選択の制御)

ダウンロード後の保存ディレクトリ選択の制御

このQ&Aのポイント
  • WEBからCSVファイルのダウンロード時に表示される「保存」ダイアログで、固定のディレクトリを表示し、他のディレクトリの選択を制限する方法を探しています。
  • サーバ側はPHPで制御は難しいため、ActiveXなどを使用して実現できるのかどうかについて教えてください。
  • また、ダイアログのデフォルトの保存先を「デスクトップ」ではなく任意のディレクトリに指定する方法についても知りたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • Bonjin
  • ベストアンサー率43% (418/971)
回答No.4

ActiveXを考えているということなのでIE限定でも大丈夫なのでしょうか? そういうことならXMLHttpとFileSystemObjectを使ってスクリプトを組んで自動的にダウンロードしてしまうのが簡単だと思います。簡単なサンプルスクリプトを作ってみました。 <html> <head> <title>Download test</title> <script type="text/javascript"> <!-- function download(){ var url = location.protocol + "//" + location.host + "/xxx.php"; var savePath = "C:\\temp\\xxx.csv"; var xmlHttp = new ActiveXObject("MSXML2.XMLHttp"); xmlHttp.open("GET", url, false); xmlHttp.send(); var fso = new ActiveXObject("Scripting.FileSystemObject"); var stream = fso.createTextFile(savePath, true); stream.write(xmlHttp.responseText); stream.close(); alert("ダウンロード完了"); } // --> </script> </head> <body> <input type="button" value="Download" onClick="download();"> </body> </html> 適当に変更して試してみて下さい。 ちなみにActiveXの警告が出ますが、サイトを信頼済みサイトに登録して、信頼済みサイトのレベルのカスタマイズで「スクリプトを実行しても安全だとマークされていないActiveXコントロールの初期化と実行」を有効にすると警告が出なくなります。

kurus
質問者

お礼

サンプルご提示ありがとうございます。 指定するphpにはダウンロードレスポンスを返す機能を実装しておけばよいのでしょうか? でも貴重な情報ありがとうございます。 もう少し自分で調べてみます。ありがとうございました。

その他の回答 (3)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.3

#2>クライアント側にはある帳票用のアプリケーションがあり、保存先のディレクトリ(この場合はC:\temp)は必ずあるという設定です。 そういうことなら、帳票用アプリケーションからファイルのゲットをするようにしたらどうでしょう

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

もし、C:\temp が無かったらどうなるのでしょうか?

kurus
質問者

補足

クライアント側にはある帳票用のアプリケーションがあり、保存先のディレクトリ(この場合はC:\temp)は必ずあるという設定です。

  • linus1974
  • ベストアンサー率19% (71/370)
回答No.1

なぜ、そういうちょっと変わったような運用 になるのか補足説明があると、まったく違う 解決法を誰かが教えてくれるかもしれません。

kurus
質問者

補足

すみません。補足いたします。 環境はイントラネットで、WEBで表示した帳票データを、 ダウンロードし、クライアントアプリケーションで、データを使用するということが目的です。 クライアント側のアプリケーションは、固定のディレクトリ内のCSVファイルを読み込み、そこにあるCSVデータを使用するというものです。 なので他のディレクトリに保存されてしまうとすぐにデータが使えなく、いちいちファイルを選択するのが面倒くさいということなので、ダウンロードしたCSVファイルを固定のディレクトリに保存したいということです。 ダウンロードにこだわらず、 クライアントからのリクエストを受けたら、WEBサーバ側でCSVファイルを作成し、ローカルに保存させる、もしくわ送信するといった方法はありますでしょうか?

関連するQ&A