==[[画像出力Servlet]]==[[Java]{{category ] | [[Category:コード片}}]]
=====呼出元=====
<<img src="/rscsvr/img.irc?img=01.jpg">>
=====Web.xml=====
<<servlet>> <<servlet-name>>imageresoruce<</servlet-name>> <<servlet-class>>rc.ImageResourceServlet<Image[[R]]esourceServlet</servlet-class>> <<load-on-startup>>1<</load-on-startup>> <</servlet>>
<<!-- Standard Action Servlet Mapping -->> <<servlet-mapping>> <<servlet-name>>imageresoruce<</servlet-name>> <<url-pattern>>*.irc<</url-pattern>> <</servlet-mapping>>
=====Servlet=====
package rc;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequestHttpServlet[[R]]equest; import javax.servlet.http.HttpServletResponseHttpServlet[[R]]esponse;
@SuppressWarnings("serial")
public class ImageResourceServlet Image[[R]]esourceServlet extends HttpServlet {
private String basedir = "c:\\work\\img\\";
@Override
protected void doGet(HttpServletRequest HttpServlet[[R]]equest request, HttpServletResponse HttpServlet[[R]]esponse response) throws ServletException, IOException {
byte[] buf = new byte[1024];
// 動的ファイルのファイル名を設定
response.setHeaderset[[Header]]("Cache-Control", "public"); // IE対策
response.setContentType("image/jpeg");
response.setHeaderset[[Header]]("Content-Disposition", "inline; filename=\"" + f.getName() + "\"");
FileInputStream r = new FileInputStream(f);
OutputStream o = response.getOutputStream();
while (r.read(buf) > > 0) {
o.write(buf);
}