• 締切済み

Servletで画像を表示させたい時。

例えばdocBaseがtestで、test直下にlogoフォルダがあって、その中に foobar.jpgと言う画像ファイルがあった場合、次のソースコードで出るはずなのですが、 /* イメージ画像の表示 */ package srd; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class dispLogo extends HttpServlet { public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { res.setContentType("image/jpeg"); BufferedInputStream bis = new BufferedInputStream(new FileInputStream("\\usr\\local\\test\\logo\\foobar.jpg")); ServletOutputStream out = res.getOutputStream(); int n; byte[] buf = new byte[512]; while ((n = bis.read(buf)) != -1) { out.write(buf, 0, n); } bis.close(); } } どうしても、画像のあるパスが分からないというエラーメッセージがでてしまいます。 画像はtmpフォルダに入れるべきなのでしょうか。それでも上手く表示されません。 どなたか分かる方がいましたら、教えてください。

みんなの回答

回答No.1

画像ファイルのパスを「\\logo\\foobar.jpg」に変えても通りませんか? ルートがtestなら相対パスはこうなるかと思いますが。

persona
質問者

お礼

返事が遅くなって申し訳ありません。 返信通知が何故か来なかったもので……。 それで試してみたのですが、駄目でした。 取り敢えず、最後の手段としてフルパスで入れてみたら、 表示されたんですけど、これ以外のパスの設定は無いモノでしょうか。 まぁ、あまり多用するプログラムでも無いと思うので、質問に答えて頂けた事にお礼申し上げます。

関連するQ&A