Misskey: ドライブで画像をダウンロードしてもダウンロードというよりブラウザで画像を表示してしまう

Created on 21 Sep 2019  ·  12Comments  ·  Source: syuilo/misskey

Chromeで確認

🐛Bug

Most helpful comment

まあ最悪fetchで落としてblob: URIで落とさせれば実現できる (MEGA的な感じで)

All 12 comments

Content-Disposition: attachment
をヘッダーに指定すると、ダウンロードすべきリソースとして指定できるみたい
https://developer.mozilla.org/ja/docs/Web/HTTP/Headers/Content-Disposition

これ前にも調整したんだけど、たぶんs3クライアントを更新したあたりでまた戻っちゃってる感じがある
(#5226 が原因くさい)

恐らく非オブジェクトストレージ環境であればちゃんとContent-Disposition: attachmentなはず

これ前にも調整したんだけど、たぶんs3クライアントを更新したあたりでまた戻っちゃってる感じがある
(#5226 が原因くさい)

いやこれは関係ないはず

インライン画像を保存した時に指定したファイル名で保存したいという機能のせいで
Content-Disposition: inline; filename="filename.jpg" などのヘッダを付けざるを得ず
(オブジェクトストレージ環境ではヘッダを出し分けられない)
それがaのdownload属性よりも強くなっちゃってるためじゃないかと
https://developer.mozilla.org/ja/docs/Web/HTML/Element/a

そもそも

この属性は同一オリジンの URL に限り動作しますが、 file: URI では動作しません。

なのでもしかして大半のオブジェクトストレージ環境では動いていない?

まあ最悪fetchで落としてblob: URIで落とさせれば実現できる (MEGA的な感じで)

まあ最悪fetchで落としてblob: URIで落とさせれば実現できる (MEGA的な感じで)

これが一番良さそう

まあ最悪fetchで落としてblob: URIで落とさせれば実現できる (MEGA的な感じで)

サイズでかいとき大丈夫?

MEGAができてるのでおそらく大丈夫だとは思うが要検証

どこか (ファイル名の部分とか) a にして右クリックできるようにして
右クリックして保存してくださいでいいんじゃない?

そもそもメニューに「コピー」と「ダウンロード」があるのに「表示」がないのが気になる

「ダウンロード」ではなくて「参照」とか「表示」にして、保存はユーザーにまかせるとか
画像だったら画像ビューワーを起動するようにして、保存はユーザーにまかせるとか

そもそもメニューに「コピー」と「ダウンロード」があるのに「表示」がないのが気になる

これは実装する予定ではありました(今めいめいがIssue立ててくれました)

Was this page helpful?
0 / 5 - 0 ratings