お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2011-02-22 14:18:42

kogechanotaremimiusagi
新しいメンバ
登録日: 2010-11-28

Firefoxから画像をドラッグアンドドロップで受け取るには

GTK+を使ったプログラミングの勉強をしています。

書籍『入門GTK+』(菅谷保之 著 オーム社)に掲載されているサンプルプログラムを応用し、
画像ビューアを作りました。

Firefoxで表示されるネット上の画像も、自分のビューアへのドラッグアンドドロップで
表示できないものかと考えました。Firefoxがすでに画像をローカルにダウンロードしている
はずだからそれをもらえないかと考えたのです。
わかったことは、Webサーバへの一般的なアクセスの場合、自分のビューアがFirefoxから受け取れる
情報はネット上の画像ファイルを指すURI(http://ではじまる文字列)で、ローカルの画像ファイルを
指すURI(file://ではじまる文字列)ではないので、自分のビューアが自力で画像をダウンロード
しなければならないということでした。

FirefoxからNautilusへ画像をドラッグアンドドロップすると、一見ただのローカルコピーの
ように見えますが、認証の必要なページの画像ではエラーダイアログが表示されました。

Windowsで同様のこと(Firefox/InternetExplorer から Explorer)をやってみると、
認証が必要なページの画像でもエラーダイアログなどは表示されませんでした。
もう少し詳しく知りたかったので、ネット検索で見つけた、Win32APIを使ったドロップ側サンプル
プログラムで試しました。ここではURIではなく、ファイルのフルパス名が渡されているようです。
つまりFirefoxもInternetExplorerも、ダウンロードしたテンポラリなローカルの画像ファイルの
パス名を渡しているらしいのです。
(Explorerにドロップするとファイル名がURIのそれになるのですが、テンポラリファイル名から
どうやってURIのファイル名にしているのかはまた別の疑問です。)


自分の画像ビューアにダウンロード機能(認証対応)を追加するなんて、今の自分の力では
できませんし、それはブラウザの役目ではないかと思うのです。

どなたか「こういう方法でできる」という情報をお持ちの方、いらっしゃいましたら
参考サイトの紹介だけでも結構ですのでよろしくお願いします。

オフライン

 

Board footer

Powered by FluxBB