2012-01-10 21 views
3

テキスト/ xmlファイルを生成し、コンテンツタイプをアプリケーションダウンロードに設定し、クライアントに添付ファイルなどを追加するボタンを作成する方法はありますか側?私が欲しいのは、XMLファイルを保存する私のページの "ダウンロード"ボタンです。IEでボタンを保存してクライアント側にファイルを保存する

response.StatusCode = 200; 
     response.ContentEncoding = Encoding.UTF32; 
     response.AddHeader("content-disposition", "attachment; filename=" + fileName); 
     response.AddHeader("Content-Transfer-Encoding", "binary"); 
     response.AddHeader("Content-Length", response.ContentEncoding.GetByteCount(xmlString).ToString()); 
     response.ContentType = "application-download"; 
     response.Write(xmlString);  
+0

をあなたはJavaScriptで意味ですか? –

+0

これはC#でASP.NETと推測していますか? – Carlito

+0

@JanHančičはい、javascript/jquery – Johan

答えて

0

あなたはjQueryの/ JavaScriptでファイルを作成し、ブラウザからディスクに保存できるようにする意味ならば、答えは平野NOである:これは、私はサーバーサイドで同じことを行う方法です。 Javascriptは(セキュリティ上の理由から)ディスクに保存することはできません。ブラウザがローカルで作成されたものの[名前を付けて保存]ポップアップを表示しないようにすることもできません。 あなたはあなたの質問に対して簡単な解決策を持っています。あなたの例では、xmlファイルを作成し、それをサーバーから添付ファイルとして送信しています。なぜ、サーバーによって作成されたファイルをダウンロードするボタンを作成するだけですか? 普通のAJAXで行うことはできません。ブラウザでのダウンロードを引き起こすことはできませんが、古い「iframe download trick」を使用して同じページでダウンロードを開始することができます。

function download(url_to_your_creating_file_servlet){ 
iframe = document.createElement('iframe'); 
iframe.style.visibility = 'hidden'; 
document.body.appendChild(iframe); 
iframe.src = url_to_your_creating_file_servlet; 
} 

それとも、(少し醜い)別のウィンドウ/タブを開くには気にしない場合にも動作します:

<a href="url_to_your_creating_file_servlet" target="blank"> Download </a> 
関連する問題