iText image in java servlet

后端 未结 6 656
逝去的感伤
逝去的感伤 2021-01-13 13:45

I\'m doing the letter generation with iText (pdf/rtf) in java servlet and got a problem with accessing images. The images are in the WebContent/images folder. When I run it

6条回答
  •  孤街浪徒
    2021-01-13 14:19

    You should never use relative paths in java.io stuff. You will be dependent on the current working directory which is in no way controllable in case of a webapplication. Always use absolute disk file system paths. Thus, c:/full/path/to/file.ext.

    You can use ServletContext#getRealPath() to convert a relative web path to an absolute disk file system path. The relative web path is rooted on the public webcontent folder which is in your case thus /WebContent. So, you need to replace the first line of above code by:

    String relativeWebPath = "/images/letterHead.jpg";
    String absoluteDiskPath = getServletContext().getRealPath(relativeWebPath);
    Image imghead = Image.getInstance(absoluteDiskPath);
    // ...
    

提交回复
热议问题