2016-07-21 3 views
-1

〜編集詳細情報〜サイトでボタンをクリックしたときに[名前を付けて保存]ダイアログを開く適切な方法は何ですか?

「名前を付けて保存」ダイアログで保存ボタンをクリックしたときにユーザーが選択できる3つのファイル形式があります。

保存が必要なデータは、ウェブサイトのバックエンドに既に保存されているため(バックエンドに送信する必要があるフォームにはデータがありません)

したがってバックエンド(mvcコントローラ関数)の関数を呼び出すフロントエンド(html、javascript)で、データを使用して名前を付けて保存ダイアログを出力し、 3つの異なるフォーマット。または、バックエンドからデータを取得するフロントエンドで関数をトリガーし、フロントエンドで(javascript/htmlを使用して)Save asダイアログを出力します。

〜ENDのEDIT〜

サイト上のボタンをクリックすると、[名前を付けて保存]ダイアログを開くための適切な方法は何ですか?

javascriptを使用していると、保存ダイアログを開く正しい方法ではないようです。私は現在、MVCを使用しているので、バックエンド(C#コントローラ関数)の関数をトリガするボタンを使用して、ダイアログとして保存を開くことができますか?

私は、保存ボタンを実装するための適切な(最良の)方法の直接的な情報を見つけることができないので、どんな情報でも大歓迎です!

+2

ダイアログとして保存するものは何ですか? – epascarello

+0

^+ C#コードからフロントエンド(つまりダイアログ)を起動することはできません。 –

+0

Javascriptがこれを行う正しい方法ではないのはなぜですか?私は、これを行う唯一の方法です。サーバー側の実装でも何とかJavascriptが使用されます。理由の詳細を指定してください。 – vivek

答えて

2

FileResultコントローラのアクションへの保存ボタンポストがあります。ユーザーがダイアログとして保存するか、デフォルトのダウンロードディレクトリに保存するかは、ユーザーのブラウザ設定に依存します。

public FileResult DownloadFile(int fileId) 
    { 
     byte[] fileContentByteArray = YourMethodHere(fileId); 
     return File(fileContentByteArray, "MIME type goes here", "Suggested file name goes here"); 
    } 
+0

ユーザーが選択できる3つの形式があるため保存ダイアログを強制したい場合セーブ? – Baraa

+1

3つのフォーマットは何ですか?あなたはそれぞれ別のファイルの内容が必要でしょうか?私がそれをしていたら、保存を押す前にフォーマットを選択するためのラジオボタンや、フォーマットごとにセーブボタンを分けるラジオボタンをユーザに与えます。 – Broom

関連する問題