MozillaZine.jp フォーラム https://forums.mozillazine.jp/ |
|
ドラッグドロップで画像保存時、勝手にBMPになってしまうようになった https://forums.mozillazine.jp/viewtopic.php?f=2&t=14904 |
ページ 1 / 1 |
作成者: | mozomozo56 [ 2014年8月07日(木) 18:11 ] |
記事の件名: | ドラッグドロップで画像保存時、勝手にBMPになってしまうようになった |
ドラッグドロップで画像保存時、勝手にBMPになってしまい不便になり困っております。 ・これまではこのような事もなく、普通に元画像(元のファイル名、形式)で保存できておりました。 (現在では適当なファイル名、形式BMPに勝手になってしまいます) ・ドラッグドロップ時であり、”右クリ→名前をつけて保存”などでは保存可能。ですが面倒なのでD&Dで済ませたいのです。 ・他ブラウザchromeでは普通に出来ている ・症状を検索して出てきます”一時キャッシュ削除”では解決できないようです。(削除法間違いでなければ) どうぞよろしくお願いいたします。 |
作成者: | WADA [ 2014年8月20日(水) 09:46 ] |
記事の件名: | Re: ドラッグドロップで画像保存時、勝手にBMPになってしまうようになった |
mozomozo56 さんが書きました: ドラッグドロップで画像保存時、勝手にBMPになってしまい不便になり困っております。 ・これまではこのような事もなく、普通に元画像(元のファイル名、形式)で保存できておりました。 (現在では適当なファイル名、形式BMPに勝手になってしまいます) ・ドラッグドロップ時であり、”右クリ→名前をつけて保存”などでは保存可能。 どのソフトウェアのどこからドラッグして、どのソフトウェアのどこにドラッグした時の話ですか? Firefoxが、HTMLの<img src="http : //..../xyz.jpg">を処理して表示している画像を、 Windows Explorerでのフォルダーの表示、 デスクトップのフォルダーへのショートカット、 Thunderbirdのメール作成ウィンドウの添付のボックス、 などに、ドラッグ&ドロップした時の話ですか? もし、このようなケースだとして、「これまではこのような事もなく」は、 同じjpegファイルの中身が表示されている画像だとして、 以前のバージョンのFirefoxでは.JPGで保存されていたのに、 ある日突然、.BMPで表示されるようになった、ということですか? Firefoxが、HTMLの<img src="http : //..../xyz.jpg"?を処理して表示している画像に関しては、 (a) 「Save Image As(画像を保存、かな)」や、(b) ドラッグがサポートされていますが、 (a) は、http : //..../xyz.jpgにあるデータをそのままファイルに保存、という機能であり、 (b) は、http : //..../xyz.jpgにある圧縮された画像データをデコンプレスしてから表示しているデータを、他の画像を処理するアプリ(たとえば、Photoshopの画像編集画面)にドラッグドロップで直接引き渡す、ということを念頭においた機能です。 従って、Mozillaファミリーが<img>によって表示している画像を、Thunderbirdなどのメーラーにドラッグ&ドロップして添付する場合でも、BMPでデータが引き渡されるはずです。 |
作成者: | mozomozo56 [ 2014年8月20日(水) 12:25 ] |
記事の件名: | Re: ドラッグドロップで画像保存時、勝手にBMPになってしまうようになった |
返答ありがとうございます。 FIREFOXで普通にHP表示中に画像をデスクトップや任意のフォルダ(エクスプローラ)で開いている場所へのD&D操作のものでした。 それでその後なのですが、なぜか今のところ無事に、元のファイル名、形式にて保存が出来ております。 キャッシュ削除が効いたのか、そもそも私の勘違いがあるのか謎ではありますが・・ (おかしくなる前に確かに大量に画像保存作業していたことはございます 大量なのでDownThemAllアドオン使用していたかもしれません) キャッシュ削除ですがFIREFOXメニューでの削除とTEMPフォルダ内の直接削除もしてみました。 現在でもエクスプローラではなくASR(エクスプローラ風ファイラ)で開いてる場所へのD&Dですと勝手な名前BMPになってしまうようですね。 何か情報ございましたらよろしくお願いいたします。 |
作成者: | WADA [ 2014年8月21日(木) 11:34 ] |
記事の件名: | Re: ドラッグドロップで画像保存時、勝手にBMPになってしまうようになった |
(1) OSの設定では、.bmp ⇔ imge/bmp の関連付けがある状態で、、 (2) FirefoxのmimeTypes.rdf内には、.bmp、imge/bmp に関係した関連付けが無い状態で、 (3) Firefox 31.0(あるいは、SeaMonkey 22.6) から image/jpgの<img src="http : //....abc.jpg" >の画像をドラッグし、 (4-A) ThunderbirdのmimeTypes.rdf内に、.bmp、text.plainの関連付けが無い状態で、 Thunderbirdのメール作成画面にドロップすると、 zhyepo91.bmpという一時的ファイルにコピーしたものが、OSの設定に従い、image/bmpとして渡ります。 (4-B) ThunderbirdのmimeTypes.rdf内に、.bmp ⇒ text.plainの関連付けがある状態で、 Thunderbirdのメール作成画面にドロップすると、 zhyepo91.bmpという一時的ファイルにコピーしたものが、text/plainとして渡ります。 コード: Thunderbird側で、.bmp ⇒ text/plainの関連付けを強制したケースの例。 [files] = { [0] = { [size] = 1250538 [type] = text/plain [slice] = function slice() [name] = zhyepo91.bmp [path] = [lastModifiedDate] = Thu Aug 21 2014 10:24:52 GMT+0900 [mozFullPath] = C:\DOCUME~1\wada\LOCALS~1\Temp\zhyepo91.bmp } [item] = function item() [@@iterator] = function @@iterator() [length] = 1 } Firefox側がzhyepo91.bmpという一時ファイルにコピーしてデータを渡そうとするのは、ドラッグの開始時点であって、どこにドロップするかは未定であり、ドロップ先のアプリケーションは無関係。 となれば、普通ならば、ドロップ先のアプリケーションは、[files] の中身を見て、zhyepo91.bmpという名前のimage/bmpのデータ、と認識するはず。 ドラッグの開始時点では、渡されたファイルのmime-typeがヌルにセットされる、というようなことがあって、 ドロップ先のアプリケーションが、 mime-type=ヌルの時のデフォールトはtexit/plain、だから、拡張子も.txtに変える、というようなことをしなければ、 あるアプリケーションでは、そのままのデータがzhyepo91.bmpというフィル名で保存され、 アプリケーションによっては、image/bmpのデータは、image/jpegに変換して保存している、とか、 あるいは、 [types] = { ... [2] = text/x-moz-url / [3] = text/uri-list/[4] = text / x-moz-url-data ...} で渡される、 一時ファイル以外の、<img src="...">のURLの情報を見て、.JPGファイルに保存している、 というようなことがあるのかもしれませんね。 ドラッグ’ドロップで、何をパラメーターとして渡すか、は、ドラッグを開始したアプリケーションによりますが、 渡ってきたデータをどう使うかは、ドロップが発生したアプリケーションのみに依存します。 |
作成者: | mozomozo56 [ 2014年8月21日(木) 12:39 ] |
記事の件名: | Re: ドラッグドロップで画像保存時、勝手にBMPになってしまうようになった |
なるほど・・快適な使い心地のため裏側の仕組み、色々ありそうなのですね。 (Thunderbirdはメーラなのですね。私のほうでは使用していない環境でした) 詳しく書いていただけたようで助かります ドラッグが肝なのですね。、OSの設定によるともあるのでそちらも調べてみないとなのですね。 じっくり読み解きちゃんと把握出来るようしていきたいと思っております。 ひとまずかもですがどうも有難うございました。 |
作成者: | WADA [ 2014年8月21日(木) 16:22 ] |
記事の件名: | Re: ドラッグドロップで画像保存時、勝手にBMPになってしまうようになった |
<img src="http://www.ne.jp/asahi/cyberpunk/freedom/article/img/marutabashi.jpg" height="480" width="640"> が、Firefox 31.0で表示されている時に、画像をドラッグ&ドロップした場合の、 eventオブジェクトの、ドラッグ&ドロップに関連するデータを保持している、 event.dataTransfer オブジェクトの中身を見ると、理解しやすいでしょう。 (A)の event.dataTransfer の、event.dataTransfer.files[0] で渡されるものは、一時ファイルに保存した、a67dbvs1.bmpというMime-Type=image/bmpのファイル。 (B)の event.dataTransfer.getData(”text/html”) や、event.dataTransfer.getData(”text/x-moz-url”) で得られるデータは、HTML内の、<img src-"...">のURL. どれをどう使うかは、ドロップを処理するアプリケーションの自由です。 Windows Explorerは、(B)の event.dataTransfer.getData(”text/html”) などを使うみたいですね。 一方、Thunderbirdのコンポーザーは、以前は、(A)の event.dataTransfer.files[0] で渡される、BMPの一時ファイルを使っていました。 でも、Thunderbird 31.0にしたら、同じevent.dataTransferオブジェクトのはずなのに、ドラッグ&ドロップで、画像の添付やHTMLの画像の挿入ができなくなってしまっている...(^^; Bugzilla.orgで見たような気がする、ドラッグ&ドロップで画像の挿入ができない、というのが、これかもしれません。 ドラッグのスタート時に、Firefoxがセットするevent.dataTransferオブジェクトの中身、 特に、event.dataTransfer.files[0].typeが、 一時ファイルの拡張子の.BMPに対応するimage/bmpにきちんとなっていないと、 Windows Explorerは、(B)の event.dataTransfer.getData(”text/html”) などを使わずに、 (A)の event.dataTransfer.files[0] で指定された一時ファイルのままで保存する、ということかもしれません。 FirefoxのmimeTypes.rdfに、拡張子=.BMP ⇔ Mime-Type=text/plainとかappkication/octe-stream、の関連付けができてしまうと、そういったことは起こり得ます。 コード: (A) event.dataTransfer の中身。 Drop event at iD=, event.dataTransfer = { [setDragImage] = function setDragImage() [getData] = function getData() [setData] = function setData() [clearData] = function clearData() [addElement] = function addElement() [mozTypesAt] = function mozTypesAt() [mozClearDataAt] = function mozClearDataAt() [mozSetDataAt] = function mozSetDataAt() [mozGetDataAt] = function mozGetDataAt() [dropEffect] = move [effectAllowed] = uninitialized [types] = { [0] = application/x-moz-file [1] = text/html [2] = text/x-moz-url [3] = text/uri-list [4] = text/x-moz-url-data [5] = text/plain [6] = Files [item] = function item() [contains] = function contains() [@@iterator] = function @@iterator() [length] = 7 } [files] = { [0] = { [size] = 1228938 [type] = image/bmp [slice] = function slice() [name] = a67dbvs1.bmp [path] = [lastModifiedDate] = Thu Aug 21 2014 15:40:05 GMT+0900 [mozFullPath] = C:\DOCUME~1\wada\LOCALS~1\Temp\a67dbvs1.bmp } [item] = function item() [@@iterator] = function @@iterator() [length] = 1 } [mozItemCount] = 1 [mozCursor] = auto [mozUserCancelled] = false [mozSourceNode] = null } コード: (B) event.dataTransfer.getData(各種のデータタイプ) で得られるデータ。
event.dataTransfer.getData() for types = { [application/x-moz-file] = [text/html] = <img src="http://www.ne.jp/asahi/cyberpunk/freedom/article/img/marutabashi.jpg" height="480" width="640"> [text/x-moz-url] = http://www.ne.jp/asahi/cyberpunk/freedom/article/img/marutabashi.jpg http://www.ne.jp/asahi/cyberpunk/freedom/article/img/marutabashi.jpg [text/uri-list] = http://www.ne.jp/asahi/cyberpunk/freedom/article/img/marutabashi.jpg [text/x-moz-url-data] = http://www.ne.jp/asahi/cyberpunk/freedom/article/img/marutabashi.jpg [text/plain] = http://www.ne.jp/asahi/cyberpunk/freedom/article/img/marutabashi.jpg [Files] = } |
作成者: | WADA [ 2014年8月22日(金) 08:45 ] |
記事の件名: | Re: ドラッグドロップで画像保存時、勝手にBMPになってしまうようになった |
訂正です。 Thunderbirdで、画像のドロップでイメージの挿入ができない、というのは、間違いでした。 以前のバグのテストで、mimeTypes.rdfに、.BMP ⇔ text/ 、 unknown/broken、などの、不正な関連付けを作ってあったのを忘れていました。 そういったものがなければ、Firefox/SeaMonkeyから画像をThunderbirdのコンポーザーにドラッグ&ドロップすると、現在の仕様通りに、.BMP のデータが使われます。 |
ページ 1 / 1 | All times are UTC + 9 hours |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |