新規ファイルを作成するには?

[上に] [前に] [次に]
GAN 2000/05/29(月) 09:44:08
はじめまして。GANと申します。

さっそく質問をさせていただきますが、HTMLもしくはJavaScriptで
ファイルを新規作成したいのですが、どのようにすればいいのか分かりません。
<INPUT TYPE="File" ....>ですと、ファイルを開くダイアログしか表示できず、
新規の作成が出来ないのですが・・・・。

サーバー上のDBを、CSV形式でクライアントにダウンロードしたいのです。

どなたか、お力を貸していただけないでしょうか?

Fuji.♪ [E-Mail] [HomePage] 2000/05/29(月) 10:13:15
CGIスクリプトを噛ませてCSVファイルを吐き出してください。

HTMLは単なる文書ですし、解析するのはクライアント側なのでサーバの情報を単独で取得する方法は無いです。(SSIなどは既にサーバ機能を利用しています)
同様に、JavaScriptもクライアント側で実行される以上は同様です。

ASPでサーバ解析される部分にJScriptだったら出来るでしょうけど、それは結局サーバ側の処理です。

GAN 2000/05/29(月) 10:46:54
Fuji.♪さん、レスありがとうございます。

> CGIスクリプトを噛ませてCSVファイルを吐き出してください。

説明不足で申し訳ありませんでしたが、開発環境はASPなのです。
CGIは使えません。

> 解析するのはクライアント側なのでサーバの情報を単独で取得する方法は無いです。

これは、どういう事なのでしょうか?
私がやりたいことは、クライアントのファイル情報を参照することでして、
サーバー情報はここでは関係ないような気がするのですが・・・・。

私の大きな勘違いでしたら申し訳ございません。

バギンズ 2000/05/29(月) 11:23:44
HTMLやJavaScriptで直接クライアントのハードディスク内を
操作することはできません。
(それができるとセキュリティホールになるから)

たぶん一番簡単なのは、一旦ASPでサーバー上に
CSVファイルを作り、そのファイルへのリンクを
HTMLで表示してあげる方法だと思います。

バギンズ 2000/05/29(月) 11:25:55
良く見たら、Fuji.♪さんと同じ事書いてるな(^_^;)

チャチャ入れ 2000/05/29(月) 14:53:28
>一旦ASPでサーバー上にCSVファイルを作り、
えっと、一旦サーバーにファイルを作るのはその後の掃除が面倒なんで、
そのまま吐き出すと言う手もあります。

下記のみのASP(HTMLのタグなど一切ない)をお試し下さい。
これ(たまたま手元にあった)の場合、CSVではなくタブ区切りですが・・・

<%
Response.ContentType="application/vnd.ms-excel"
Response.AddHeader "Content-Disposition" , " attachment; filename= test.xls"

Response.Write "No." & vbtab
Response.Write "起票日" & vbtab
Response.Write "名前" & vbNewLine

Response.Write "1" & vbtab
Response.Write "99/11/11" & vbtab
Response.Write "おれ" & vbNewLine

Response.Write "2" & vbtab
Response.Write "99/11/01" & vbtab
Response.Write "おまえ" & vbNewLine

%>


>さっそく質問をさせていただきますが、HTMLもしくはJavaScriptで
>ファイルを新規作成したいのですが
・・・中略
>サーバー上のDBを、CSV形式でクライアントにダウンロードしたいのです。
要求事項が矛盾しています。要求事項の実装にはサーバー側の処理が
必須です。
CGIもASPも同義で受け取ってもらわないと苦しいなぁ。
と言う事なんで、このASPが理解出来るか心配ですが・・・

GAN 2000/05/30(火) 15:44:18
GANです。お世話になっております。

> 下記のみのASP(HTMLのタグなど一切ない)をお試し下さい。

遅くなりましたが、さっそく試させていただきました。
このASPで私がはじめに質問させていただいた問題は解決しました。

しかし、さらに難しいことになりまして、10000件ごとに別のファイルに
ダウンロードすることになりました。たとえば、データが25000件ある場合は、
3つのファイル(10000件のファイルが2つと5000件のファイルが1つ)が
作られるというわけです。
この処理を、ループでまわしたりして試行錯誤してみましたがうまくいきません。

この場合、どのような処理を行えばよろしいのでしょうか?ご教授願います。

GAN 2000/05/30(火) 17:22:30
[[解決]]
自動でループを行うのではなく、ユーザーにダウンロードするレコードを
指定してもらうことになり、解決しました。

レスを下さった皆様、ありがとうございました。

[上に] [前に] [次に]