httpを使ってダウンロードすることに対する理解(1)-ファイルをダウンロードした後に直接開いてファイルが見つかりません
今日私の同僚は奇妙な問題に遭遇しました.
以下に説明する.
彼はexcelをダウンロードする機能を作って、【ダウンロード】ボタンをクリックした後に1つの保存ダイアログボックスを弾いて、直接保存して問題ありませんが、直接開くと指定したファイルが見つかりません.検索した結果、問題の原因が見つかりました.
彼のservletの最初の部分には次のコードがあります.
httpのダウンロードに対する理解:???まだ完全に理解していない
//サービス側でresponse.getWriter().writ("...")を使用
ポップアップダイアログの「開く」ボタンをクリックしたときのクライアントでの操作を簡単に説明します.
まずダウンロードしたファイルをIEの一時フォルダに保存し、
次に、ファイルを開く操作を行います.
サーバ側からファイルを返す際にno-cacheが付加されているため、ファイルはIEの一時フォルダに保存された直後に削除され、
したがって、開く操作を実行すると、指定したファイルエラーが見つからないと報告されます.
解決方法:
no-cacheのあの言叶を取り除けばいいのに、ほほほ
補足:response.setHeader("Expires","0");//相対的な有効期限を設定します.0:直ちに無効になります.
以下に説明する.
彼はexcelをダウンロードする機能を作って、【ダウンロード】ボタンをクリックした後に1つの保存ダイアログボックスを弾いて、直接保存して問題ありませんが、直接開くと指定したファイルが見つかりません.検索した結果、問題の原因が見つかりました.
彼のservletの最初の部分には次のコードがあります.
response.setHeader("Cache-Control","no-cache"); //
httpのダウンロードに対する理解:???まだ完全に理解していない
//サービス側でresponse.getWriter().writ("...")を使用
ポップアップダイアログの「開く」ボタンをクリックしたときのクライアントでの操作を簡単に説明します.
まずダウンロードしたファイルをIEの一時フォルダに保存し、
次に、ファイルを開く操作を行います.
サーバ側からファイルを返す際にno-cacheが付加されているため、ファイルはIEの一時フォルダに保存された直後に削除され、
したがって、開く操作を実行すると、指定したファイルエラーが見つからないと報告されます.
解決方法:
no-cacheのあの言叶を取り除けばいいのに、ほほほ
補足:response.setHeader("Expires","0");//相対的な有効期限を設定します.0:直ちに無効になります.