- ベストアンサー
ブラウザでハードディスク内の画像を表示する方法とは?
- Mac OS X 10.5.8でHTMLを使ってSafariなどのブラウザで内蔵ハードディスク内の画像を表示する方法がわかりません。
- 「システム環境設定」で「Web共有」をオンにしてApache 2.2.11を起動しても、画像が表示されません。
- デスクトップに画像を置いても、相対パスや絶対パス、localhostやIPアドレスを試しても、Safariでは画像が表示されません。ドツボに嵌っている状況です。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
No.3です。 少し試してみました。 /Library/WebServer/Documents にエイリアスやソフトリンクでファイルを入れても駄目ですが、ハードリンクなら表示できます。 ただし、フォルダのハードリンクは作れないので、ファイルでないと駄目です。 もうひとつ、 DocumentRoot "/Library/WebServer/Documents" を DocumentRoot "/Users/Shared" に書き換え、 少し下の <Directory "/Library/WebServer/Documents"> を <Directory "/Users/Shared"> に書き換えると /Users/Sharedにアクセスできるようになりました。 ただし、_wwwの権限でアクセスしますので、権限がないファイルは無理です。
その他の回答 (4)
- HAL2(@HALTWO)
- ベストアンサー率53% (2339/4386)
最初の前提が間違っていると思います。 Library Folder は User Data Folder ではありませんので User が Library Folder から HTML の img src Path で Desktop の Data を Link させようとしても繋がりません。 Desktop は Web 公開されて外部から Access できる Area ではありませんので Mac から見れば外部公開されている「/Library/WebServer/Documents/」から Web 公開されていない Desktop Folder には Access できないのです。・・・できてしまったら Security 上、大変なことになるでしょう(笑)? 先ずは Desktop に html File を保存して Desktop の Image File を Link させれば同じ Desktop Folder 内での Link ですので Path 指定をせずに済み、出来上がった File 群を指定した Folder に入れれば良いだけです。
補足
早速のご回答有り難うございます。 やはり、セキュリティですよね。 Webでは、例えば(これはWIndowsを念頭に置いた解決と思いますが) 「HTMLファイルがどこか他の場所にあって、○○.gifがStationeryにある場合は src="C:\program Files\Common Files\Microsoft Shared\Stationery\○○.gif" マイドキュメントにある場合は src="C:\Documents and Settings\Owner\My Documents\○○.gif" と書く必要があります。」 などという表現があり、Macでは何故出来ないのだろうと思った訳です。 ご指導の通り、HTML文をデスクトップに移動し <img src="../Desktop/image.jpg>という文にし、そのHTML文を「Safariのアイコンにドラッグ」すれば画像が表示されました。 しかし、この後、具体的にどうすれば良いのでしょうか? この場合の「Link」の意味が分かりかねます。 質問では詳細を省きましたが、本来の目的はNASに日々蓄えられる(更新される)画像ファイルをhttpを通して他のパソコンで表示したいのです。今はローカルでトライアルをしていて、例えばデスクトップにある画像ファイルはどう扱うのかと思った次第です。 さらなるお知恵を拝借したいと思います。
- ki073
- ベストアンサー率77% (491/634)
No.2です エイリアスはだめですね、訂正。 httpd.confを書き換えればいけるかもしれませんが。 ローカルならNo.1の通りです。
お礼
検証してみました。 デスクトップでは、なかなかうまく行かなかったので 最終的にはRoot直下に「imagetrial」というフォルダを作成しそのフォルダに <img src="image.jpg">と記したindex.htmlとimage.jpgを置き httpd.confの「DocumentRoot "/Libray/WebServer/Documents”」を 「DocumentRoot "/imagetrial"」に書き換え システムないしApacheを再起動してSafariのキャッシュを空にし URLを「http:/localhost/」としてみましたが 「Forbidden you don't have permission to access / on this server.」とエラーが表示されます。 別の所でセキュリティの規制が掛かっているのでしょうか? 更なるお知恵を拝借したいと思います。
補足
早速のご回答有り難うございます。 以前、グッドアイデア閃いたと思って、エイリアスでやってみたのですが駄目でした。 WebでApacheの設定マニュアルを少し読んでみたりhttpd.confも眺めてみましたが500行近くあり、よく分かりませんでした。 そうですか、「DocumentRoot」ですね。しかし、この場合でもHTML文と画像ファイルは一緒の場所に置かないといけませんよね。 NASに置いた画像ファイルでもこの方法で解決出来るかどうかですね。 取り敢えず、ローカルで検証したいと思います。
- ki073
- ベストアンサー率77% (491/634)
Finderで画像ファイルが見ることができる状態にあるのならNo.1の回答の方法でわかります。 ネットワーク越しの場合はfile:///Volumes/HDD名/....のようになっているはずです。 /Users/(ユーザー名)/Desktop/image.jpg はローカル(Safariを操作している)Macのファイルを指していますので、そこにあれば表示されます。 httpの場合は/Library/WebServer/Documents/の下にないと見えません。 エリアスを作って、置けば表示されるように思います。 あるいは サーバー側の/private/etc/apache2/httpd.conf(10.5の場合はapache2が他の名前だったように思います) の中の、 DocumentRoot "/Library/WebServer/Documents" を書き変えるかです。
- toast5
- ベストアンサー率37% (239/638)
とりあえずその image.jpg をドラッグして、 ドックの Safari アイコンにドロップしてみてください。
補足
早速のご回答有り難うございます。 質問の仕方が悪かったかもしれません。お答えの方法で確かにSafariで画像を表示出来るのですが、真意はHTMLで表示したいのです。 ドラッグした場合、SafariのURL欄に「file:///Users/(ユーザー名)/Desktop/image.jpg」と表示されますが、HTML文の中で<img src="file:///Users/(ユーザー名)/Desktop/image.jpg">とすると、そのHTMLをSafariで表示しても画像は表示されないのです。
お礼
昨日の忘年会の二日酔いから抜け出せないまま、試してみました(^^;) 他の回答者の方への補足にも書かせて頂きましたが、最終目標はNASのフォルダ内の画像をイントラネットで表示させる事です。 従って、ハードリンクの案は無用となります。 httpd.confを書き換えて「共有」フォルダを使う方法は見事に成功したました! index.htmlと画像ファイルを置いた「imagetrial」フォルダをRoot直下に置いて「imagetrial」フォルダの「情報を見る」ウィンドウで、「共有」フォルダのように(staffと)everyoneのアクセス権を "読み出しのみ"から"読み/書き"に変更しても(勿論、httpd.confもそれように書き換えて)「http://localhost/」のURLでSafariに画像が表示されました!! アクセス権は "読み出しのみ"では駄目だったんですね。これが陥穽でした。 この度は、再三に渡って親身にご指導くださり本当に有り難うございます。 最終目標に至るまで、まだまだハードルがありそうですが、このスレッドは一旦終了させて頂きます。 今後も宜しくご指導をお願い致します。
補足
再三のご回答、感謝感激です。 残業のため、ご指導の確認が出来ません。 明日以降、トライさせて頂きます。