痔になりやすい生活習慣とは?

【環境】
WindowsXP
Struts1.3.10
Tomcat6.0
HTMLの話かもしれませんが・・・・
JSPでC:\testimages\配下にある画像が表示できません。
プロジェクトのWebContent配下のはhttp://localhost/で指定していけば表示されるのはできるのですが、ローカルドライブ内のはできません。
試したコードは
<img src"file:///c:/testimages/test.jpg"/>
<img src"file:///c:\testimages\test.jpg"/>
<img src"c:\testimages\test.jpg"/>
などの組合せは一通り試したのですがだめでした。
何か設定が必要なのでしょうか?
クライアントだけで動かしたいです。
ご教授のほど宜しくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

WindowsXPでは、別ドライブにあるファイルをマウントすることはできなかったと思います。


この様な--localhost--場合は、apacheなどちゃんとしたウェブサーバーをローカルにインストールしたほうが良いです。
 私は、別ドライブ(別パーテーション)のルートにCygwinをインストールし、その/usr/local/apacheにapacheがあり、そこから他のドライブのディレクトリを別のVirtual hostにしているので、画像をapache経由で使ってます。Cygwinを入れているのは、Shellスクリプトや色々なローカルテストで必要だから・・

ファイルへの別名を割り当てるハードリンクを作成する - @IT ( http://www.atmarkit.co.jp/fwin2k/win2ktips/982ha … )
    • good
    • 0
この回答へのお礼

ORUKAさんありがとうございます。
サーバーがない場合は、教えて頂方が一番いい方法だと思いました。
勉強になりました。

お礼日時:2011/05/30 22:25

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qwebアプリケーションでの画像ファイルの保存場所

お世話になります。

Javaと、MySQLでウェブアプリケーションを作成していまして、ユーザーがアップロードしたファイルを
どこのディレクトリに保存すればいいか悩んでいますので、教えてください。

ユーザーがログインし、自分のアイコンを設定した場合、
その画像ファイル(jpgなど)はどのフォルダに置いておけばいいのでしょうか?

例えば、imgフォルダにおいた場合、バージョンアップしたプログラムをデプロイすると、
サーバー内のimgフォルダ内のデータはなくなってしまうと思いますので、ユーザーがアップした画像などは
そこに置いてはいけないと思います(バージョン・アップ時に消えてしまいますので)。

「デプロイしても消されない場所に置けばいい」ということでしょうか?

皆さんはどうされていますでしょうか?

よろしくお願い致します。。

Aベストアンサー

こんにちは。

検索すればいろんなサンプルが出てくると思いますよ。

すごく簡単に書くとしたら

// 画像ファイルのパス
File file = new File ( "/home/・・・・" );
response.setHeader ( "Content-Type", "image/jpeg" );
response.setContentLength ( (int)file.length() );
// 出力と入力
ServletOutputStream out = response.getOutputStream();
BufferedInputStream in = new BufferedInputStream ( new FileInputStream(file) );

int data = 0;

while ( (data = in.read()) != -1 ) {
// 書き出す
out.write(data);
}
in.close();
out.close();

これをサーブレットなりで呼び出してあげれば、任意の場所の画像ファイルを出力します。
(実際の運用ではパラメータでID等を渡してDBからファイル名を取得する)

これを応用すると、必ずサーブレットなりを介さないとファイルには直接アクセスできないため、
認証をさせたり、ダウンロード数を把握したり、期限を設定したりいろいろ出来るようになります。

こんにちは。

検索すればいろんなサンプルが出てくると思いますよ。

すごく簡単に書くとしたら

// 画像ファイルのパス
File file = new File ( "/home/・・・・" );
response.setHeader ( "Content-Type", "image/jpeg" );
response.setContentLength ( (int)file.length() );
// 出力と入力
ServletOutputStream out = response.getOutputStream();
BufferedInputStream in = new BufferedInputStream ( new FileInputStream(file) );

int data = 0;

while ( (data = in.read()) != -1 ) {
// 書き出す
out....続きを読む

QJSPでの画像ファイル表示

<img src="~.gif">とすれば、決められた画像は表示できるのですが、"~.gif"の部分に変数を使用して、場合に応じて、ファイル名(数字)が違う画像ファイルを読み込ませたいのです。
その場合当然なのですが、<img src="~" + <% 変数 %> + ".gif">としても、できないんですよね。

何か方法をご存知の方教えてください。よろしくお願いします。

Aベストアンサー

<img src="~ <%= 変数 %>.gif">
じゃないですか?

Qhtmlのfileタグに自動で値を入れる方法

htmlのタグでいって
<input type="file">を用いてファイルをサーバーにアップロードしたいと思っています。で、このとき、ファイル名は任意に選べるのではなく固定で送信したいと思っています。

すなわち、HTMLを読み込んだ時点で、fileのテキストボックスにファイルパスが埋め込まれているか、JavaScriptで、ファイルパスを自動入力するようにしたいと思っています。

最終的には、form内のオブジェクトをすべて非表示にし、onload時にsubmitするような形にしたいと思っています。いろいろ事情があって苦肉の策になっています…。

とりあえず(だめだとは思っていたのですが)
<input type="file" value="ファイルパス" name="filepath">
と直書きにしてみたり
document.all.filepath.value = "ファイルパス";
などとしてみたりしましたがだめでした…。
W3C勧告の使用上はvalueでファイルパスを指定できるようになっているようなのですが、現在の一般的なブラウザでは禁止されているようですね。

このような場合、何らかの方法でfileにファイルパスを自動入力することはできますでしょうか?
もしできない場合、何らかの方法で実現する方法はありますでしょうか?よろしくお願いします。

ちなみに実現できればいい環境は
WinXP環境のIE6です。言語はクライアント言語はJavaScriptのみで、という条件付です。
できないかもしれないのですが、こういうのって必要になるときもあるよなーなどと思っており、もしかしたら解決方法があるかもしれないと思い質問しました。よろしくお願いします。

htmlのタグでいって
<input type="file">を用いてファイルをサーバーにアップロードしたいと思っています。で、このとき、ファイル名は任意に選べるのではなく固定で送信したいと思っています。

すなわち、HTMLを読み込んだ時点で、fileのテキストボックスにファイルパスが埋め込まれているか、JavaScriptで、ファイルパスを自動入力するようにしたいと思っています。

最終的には、form内のオブジェクトをすべて非表示にし、onload時にsubmitするような形にしたいと思っています。いろいろ事情があって苦肉...続きを読む

Aベストアンサー

やっぱ無理じゃないでしょうか。
なにか裏ワザ的な方法で一時的にできたとしても、いつか直されるかもしれないのでおいそれとは使えないし。

>W3C勧告の使用上はvalueでファイルパスを指定できるようになっている
→参考URL 「ユーザが明示的に送信を求めたファイル以外のものは送ってはいけない」とあります。

参考URL:http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/appendix/notes.html#forms-security

Qequalsの逆

javaで、文字列の場合は比較演算子の「==」は用いずに

if ((str1.getText()).equals(str2)){
(※…str1,2は文字列)

と書きますよね?
この逆で、文字列str1とstr2は等しくないとき、にはif以下の条件文をどのように書けばよいでしょうか?

Aベストアンサー

>if !((str1.getText()).equals(str2)){

あくまで
if(){
}


!(str1.getText()).equals(str2)
が入っているので
if !((str1.getText()).equals(str2)){
じゃなくて
if (!(str1.getText()).equals(str2)){
こう。

Qのイベントについて

<input type="file">でファイルを選択した時点にイベントを追加する方法を教えてもらえませんか?
セキュリティの観点から無理なのでしょうか?

Aベストアンサー

ファイルを選択した時点で、
onchange イベントが起こりますので、
それを利用すればいいです。
例:
<form name="File">
<input type="file" name="UPLOADFILE" onchange="alert(document.File.UPLOADFILE.value)">
</form>

Qwebブラウザからローカルファイルの読み込み

はじめまして、質問します。
webブラウザからローカルファイルの読み込みを行いたいのですが、
セキュリティーの問題でアクセスを拒否されました。
その回避法として、FileAPIによって
htmlのinput要素かドラッグアンドドロップを用いて
ローカルファイルを読み込めることが分かりました。

しかし、私がやりたいことは
絶対パスでローカルファイルを読み込むことです。

そのようなことは可能でしょうか?
上記の方法だとinputからフォルダをたどってファイルを選択するので
原理的には可能なような気がするのですが・・・・

言語はjavascriptです。
よろしくお願いします。

Aベストアンサー

>その回避法として、FileAPIによって
>htmlのinput要素かドラッグアンドドロップを用いて
>ローカルファイルを読み込めることが分かりました。

>上記の方法だとinputからフォルダをたどってファイルを選択するので
>原理的には可能なような気がするのですが・・・・

根本的な部分で勘違いをされている気がします。ドラッグ&ドロップで渡されるのはファイルのパスなどではありません。これはFileListオブジェクトという専用のオブジェクトで、その中に個々のファイルに関するFileオブジェクトが保管されています。このFileオブジェクトをFileReaderなどに渡すことでその内容を読み取ったり出来る仕組みになっています。

ただし、ここで勘違いしてはいけないのですが、このFileオブジェクトには、ファイルのパス情報は含まれていないのです。あるのはファイル名の情報だけ。そのファイルがどこにあるかといったことはJavaScript側からは隠蔽されており、スクリプトからタッチできません。

つまりJavaScriptでは、「パスによるファイルの指定」は過去も現在も首尾一貫して禁止されており、不可能なのです。

ドラッグ&ドロップは、ユーザーの能動的な動作により起こるイベントです。つまり、ユーザーが自分で「このファイルをアップロードしよう」といった具合に操作した結果の行動です。これに対し、「ファイルのパスによるファイルアクセス」は、ユーザー不在であり、プログラムが自分で勝手にファイルにアクセスできることを意味します。両者は全く違います。

>その回避法として、FileAPIによって
>htmlのinput要素かドラッグアンドドロップを用いて
>ローカルファイルを読み込めることが分かりました。

>上記の方法だとinputからフォルダをたどってファイルを選択するので
>原理的には可能なような気がするのですが・・・・

根本的な部分で勘違いをされている気がします。ドラッグ&ドロップで渡されるのはファイルのパスなどではありません。これはFileListオブジェクトという専用のオブジェクトで、その中に個々のファイルに関するFileオブジェクトが保管されています...続きを読む

QHTMLからフォルダを開きたい

いつも大変お世話になります<(_ _)>

Webサーバー上にあるWebページ(HTML)の中に、ローカルPCのフォルダを開くリンクを付けたいのですが、
<a href="file://c:\windows">OPEN</a>
としても、何も反応しません。

いろいろ調べたのですが、上記の方法しか見あたりません。

なお、ブラウザのアドレス欄に file://c:\windows と入力すると、フォルダの内容が表示されます。
※Firefoxだと、ファイルの一覧になりますが・・・

何か環境によって挙動が異なるのでしょうか?
それとも、セキュリティ上の観点から最近じゃ出来なくなっているのでしょうか?

是非ともお助け下さい。宜しくお願い致します。

Aベストアンサー

file:///C:/windows/
/は三つでは・・・
 IEの場合はエクスプローラ(ファイルマネージャ)が開くような・・・
 IEはファイルマネージャーと一体のブラウザなので・・・

★実は、ローカルサーバーが必要です。
 apacheでも何でも良いので、WEBデータの入っているフォルダーを
<VIRTUALHOST 127.0.0.1>
C:\Document and settings\my document\web
 とかに指定して、Windowsのhostsファイルで、適当なサーバー名を指定しておきます。
myLocalhost 127.0.0.1
とか・・・

 そうすると
http://myLoclahost/
 で開けます。

 

Qブラウザからファイルパスを取得するには

現在Webブラウザからローカルにあるファイルのパスを取得したいと
考えています。

イメージとしては、アップロードのときのように、参照ボタンを押すと
ダイアログが開き、そこからファイルを選択すればそのファイルのパスが
取得できるようなことを考えています。
ファイルアップロード時にファイルのパスを取得できることは知っているのですが、アップロード出来るサイズの制限を越えるものもあり、
できるだけアップロード処理を行わずに、ファイルのパスだけを取得できる
方法がないか探しております。

ご存知の方がいらっしゃいましたら、教えていただければ幸いです。

よろしくお願いいたします。

Aベストアンサー

単純に
enctype="multipart/form-data"
を指定しなければ
enctype="application/x-www-form-urlencoded"デフォルトが適用されるので、
<input type="file" name="filePath">
とでもしたら良かったと思います。
 たとえば、ローカルにある画像を使ってカレンダーを印刷するCGIを作成したときは、そのようにしたと記憶してます。

QHTMLで別PCのフォルダを開く

例えばネットワーク上に”192.168.100.250”というPCがあるとします。

このPCはフォルダウィンドウでフォルダ内を閲覧出来る場合、

別のサーバーのHTMLファイルから、

このフォルダを開く事は出来ますか?

以下のコードを追加して、testをクリックしても何も起こりません。。。

<a href="file:\\192.168.100.250\test">test</a>

どなたかお分かりになる方教えてください。

Aベストアンサー

[ANo.7] の続きね。

Firefox を例にするね。

■ ウェブブラウザのセキュリティ第1段階

1) Firefox でロケーションバーに "file:///c:/" を入力すると、『C:\』のフォルダの一覧が表示される。他のフォルダを入力すれば、同じように、そのフォルダの一覧が表示される。

2) 質問者さんは、悪意のあるウェブページとは知らずに、"http://example.org/akuinoaru.html" をダウンロードして、デスクトップに保存したとする。

その HTML の内容は↓これ。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
  <meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
  <title>Akuinoaru JavaScript Sample</title>
  <script type="text/javascript" src="http://example.org/akuinoaru.js"></script>
</head>
<body>
  <h1>Akuinoaru JavaScript Sample</h1>
  <div>
    <iframe id="iframe" width="100%" height="600" src="."></iframe>
  </div>
</body>
</html>

3) 質問者さんは、保存した HTML を Firefox で開くとする。

4) すると、デスクトップにあるファイルの一覧が表示される。

5) 『4)』とほぼ同時に "http://example.org/akuinoaru.js" が実行される。

6) akuinoaru.js は、表示されたフォルダの中にあるファイルを、
"http://example.org/akuinoaru.php" へ全て送信するという JavaScript だとする。

ということで、質問者さんの PC の中のファイルが、攻撃者のサーバに送信される。


つまり、『信頼できない HTML ファイルをダウンロードして、ウェブブラウザで開くのはすごく危険』ということ。


■ ウェブブラウザのセキュリティ第2段階

1) ウェブブラウザは、PC にウェブページのキャッシュを持つ。
つまり、自分でダウンロードしなくても、もともと HTML ファイルはダウンロードされているということ。

2) ここで、"http://example.org/akuinoaru.html" は "file:///ウェブページのキャッシュフォルダ/キャッシュファイル" へリンクを張ってあったとする(※)。

通常、このリンクはウェブブラウザによってセキュリティー上無効にされているけれど、これが有効だったとする。

3) 質問者さんは、上のページのリンクをクリックしたとする。

4) 以下、『ウェブブラウザのセキュリティ第1段階』の 『4)』と同じ。

今回は、リンクをクリックする想定をしたけど、実際はクリックしなくても、キャッシュファイルを表示させることができるから、悪意のあるページにアクセスしたら、すぐに、質問者さんの PC の中に保存されているファイルは、攻撃者のサーバに送信されてしまう。

このようなことが起こらないように、http://xxxxxx から file:/// へのリンクは無効にされている。


という説明で大丈夫かな?


※2) 実際には、キャッシュファイルのパスは固定じゃないから、JavaScript でがりがり生成して何回もトライしてキャッシュファイルのパスを見つける必要がある。でも危険なことには違いはない。

[ANo.7] の続きね。

Firefox を例にするね。

■ ウェブブラウザのセキュリティ第1段階

1) Firefox でロケーションバーに "file:///c:/" を入力すると、『C:\』のフォルダの一覧が表示される。他のフォルダを入力すれば、同じように、そのフォルダの一覧が表示される。

2) 質問者さんは、悪意のあるウェブページとは知らずに、"http://example.org/akuinoaru.html" をダウンロードして、デスクトップに保存したとする。

その HTML の内容は↓これ。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional...続きを読む

Qフォーム上で押されたボタンによってサーブレットの処理を変えたい

Urizakaです。
さて、さっそく質問です。
JSPの同一フォーム上に「登録」「修正」「削除」のボタンを置き、その押された
ボタンによってサーブレット内での処理が切り替わる(具体的には、違う
SQL文を実行し、違うJSPページをgetRequestDispatcherメソッドで生成
する)ようにしたいのですが、どのようにすればよいのでしょうか?
もちろんそれぞれの処理に対して別々のサーブレットを作り、javaScript
でそれぞれのサーブレットへ飛ぶように制御するという処理も考えたことは
考えたのですが、できれば一つのサーブレットで済ませたいと考えたもので
…宜しくお願いします。

Aベストアンサー

お恥ずかしい限りです。
前述の例、動くわけがありませんね(汗)

2つめの例、書きなおします。

---------------------------------------------------

■JSPのフォーム

<form name=MyForm action="<<サーブレットのURL>>" method=post>
<input type=button name=MyClick value=登録 onClick="func('Toroku');">
<input type=button name=MyClick value=修正 onClick="func('Shusei');">
<input type=button name=MyClick value=削除 onClick="func('Sakujo');">
<input type=hidden name=MySubmit>
</form>

<script language="JavaScript">
function func(MyCommand){
document.MyForm.MySubmit.value=MyCommand;
document.MyForm.submit();
}
</script>

■Servletでの処理
// リクエストの取得
String MyAction = req.getParameter("MySubmit");

// 処理の実行
if (MyAction.equals("Toroku")){...}
if (MyAction.equals("Shusei")){...}
if (MyAction.equals("Sakujo")){...}



---------------------------------------------------

こんな感じでどうでしょうか。
ちなみにこうやって書いておくと、フォームのボタンからじゃなくても
アンカーをクリックすることで同じ効果が出せそうな……

<a href="JavaScript:func('Toroku')">登録</a>

あ、でもまたボロが出そうなのでこの辺で(^_^;)

お恥ずかしい限りです。
前述の例、動くわけがありませんね(汗)

2つめの例、書きなおします。

---------------------------------------------------

■JSPのフォーム

<form name=MyForm action="<<サーブレットのURL>>" method=post>
<input type=button name=MyClick value=登録 onClick="func('Toroku');">
<input type=button name=MyClick value=修正 onClick="func('Shusei');">
<input type=button name=MyClick value=削除 onClick="func('Sakujo');">
<input type=hidden name=M...続きを読む


人気Q&Aランキング