2012-04-26 9 views
1

私のJSPページでは、スキャンしたドキュメントを表示/ダウンロードするためのリンクを1つ提供しています。ダウンロードリンクのポップアップウィンドウが表示されます...保存する、開く、キャンセルするプロンプトを表示する

文書を正しく表示できますが、を開くようにメッセージを表示します。オプションを開く前に保存してください。

レスポンスオブジェクトでいくつかの変更を加えなければならないのですか、それともブラウザの設定によって起こっていますか?

ありがとう.....

私はこのように私のコントローラクラスを書かれている:

public void fileUploadOption(HttpServletRequest request,HttpServletResponse response) { 

     try { 
       // get your file as InputStream 
       InputStream is = new FileInputStream(new File(\\..file..\\)); 


       IOUtils.copy(is, response.getOutputStream()); 

       response.flushBuffer(); 

      } catch (IOException ex) { 

       throw new RuntimeException("IOError writing file to output stream"); 
      } 

    } 

答えて

5

あなたはattachmentContent-Dispositionヘッダーを設定する必要があります。これにより、名前を付けて保存ダイアログが表示されます。

前に、レスポンスボディに任意のバイトを書いているこの行を追加します。ところで

String filename = file.getName(); 
response.setHeader("Content-Disposition", "attachment;filename=\"" + filename + "\""); 

を、「アップロード」は、この文脈では、間違った用語です。私はその方法をfileSendOptionまたはsendFileまたは何かに改名します。

+0

ありがとうBalusC .... !!! – JOHND

+0

ステートメントの末尾に1つ以上のバックスラッシュ( "\" ")を記述した理由... – JOHND

+1

ダブルクォートをエスケープするにはファイル名は2つのダブルクォートで囲まれていなければなりません。 – BalusC

関連する問題