質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Q&A

解決済

3回答

747閲覧

Excel出力時のポップアップがrailsバージョンによって異なる

toney.skm

総合スコア13

Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

0グッド

0クリップ

投稿2019/07/17 00:40

前提・実現したいこと

RailsでExcelに記載のデータを取り込んで、加工して、Excel出力するプログラムを
作成しています。

発生している問題・エラーメッセージ

Excel出力時にポップアップメッセージが表示されるのですが、
思っているポップアップが表示されません。

現状のポップアップ:ボタンが[保存]と[キャンセル]しか表示されない
イメージ説明
想定しているポップアップ:ボタンが[開く]と[保存]、[キャンセル]が表示される
イメージ説明

昔作成したシステムだと想定しているメッセージが表示されたので、
バージョン変更に伴う仕様かと思ったのですが、そのような情報を得られませんでした。
対処方法を教えてください。

該当のソースコード

path = 'export.xlsx'
p.serialize(path)
send_file(
path,
:disposition => 'attachment',
:type => 'application/octet-stream',
:filename => filename
)

試したこと

send_fileでも同様の結果でした。
OSはWindows7でも10でも同様の結果でした。
またIEの互換表示機能でIE9で試してみても同様でした。
違うブラウザ(Edge)で試したところ、表示されましたが、
IEで利用したいです。
試しにPDFを出力するPGを書いたところ同様の結果でした。

環境

Ruby:2.3.3
Rails:5.2.2
利用gem:Axlsx
利用端末:Windows10,Windows7
ブラウザ:IE11

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/07/17 00:46

つ メディアタイプ
toney.skm

2019/07/17 11:51

すいません。 ご指摘いただいている点がわかりません。 修正が必要な場合は詳細を教えていただけると助かります。
guest

回答3

0

自己解決

rails5.2からの仕様でした。
正確にはX-Download-Optionsというファイルダウンロード時にダイアログを制御して、
IE8以降でユーザーがファイルを直接開くことができないようにするオプションがあります。
上記がrails5.2ではデフォルトで設定されていました。
以下に参照したURLを記載しておきます。
https://e-algorithm.xyz/vulnerability/

回答をいただきありがとうございました。
また質問をする際にはよろしくお願いいたします。

投稿2019/07/31 04:27

編集2019/07/31 06:38
toney.skm

総合スコア13

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

マイクロソフトのページで
Internet Explorer で開くことができないファイルがある理由

ファイルを開けない場合は、アドオンのバージョンが古い可能性があります。
との事ですので

アドオンのチェックをされてみてはいかがでしょう

https://support.microsoft.com/ja-jp/help/17436/windows-internet-explorer-download-files-from-web

また、マイクロソフトがIEはもう使わないでと言ってるくらいなので
よほどの理由があるならしかたがありませんが
エッジかクロームを使ったほうが良いかとおもいます。
https://www.huffingtonpost.jp/2019/02/10/microsoft-ie-stop_a_23665793/

投稿2019/07/29 04:50

編集2019/07/29 04:59
nanami12

総合スコア1015

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

application/octet-streamは「単なるデータファイル」という意味になるので、ブラウザとしては保存しかできません。

.xlsxの正しいContent-Typeは、application/vnd.openxmlformats-officedocument.spreadsheetml.sheetとのことです。

投稿2019/07/17 00:55

maisumakun

総合スコア145184

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

toney.skm

2019/07/17 11:57 編集

回答をいただきありがとうございました。 Content-Typeを変更してみましたが、当事象は改善されませんでした。 ただ.xlsxのContent-Typeは知らなかったので、勉強になりました。 もし事象が発生している原因等心当たりが他にあれば教えてください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問