使用JSP将图像文件的内容转储到浏览器

使用JSP将图像文件的内容转储到浏览器,jsp,Jsp,如何将磁盘上图像文件的内容转储到浏览器 我尝试了此操作,但图像已损坏(浏览器中的图像符号已损坏) 有必要删除JSP标记外部的换行符,以免损坏图像 <%@ include file="config.jsp" %><%@ page import="java.io.*" %><%@ page contentType="image/png" %><% String fn = request.getParameter("f"); String filename

如何将磁盘上图像文件的内容转储到浏览器

我尝试了此操作,但图像已损坏(浏览器中的图像符号已损坏)


有必要删除JSP标记外部的换行符,以免损坏图像

<%@ include file="config.jsp" %><%@ page import="java.io.*" %><%@ page contentType="image/png" %><%

String fn = request.getParameter("f");

String filename = uploads_folder + fn;

File file = new File(filename);
FileInputStream in = new FileInputStream(filename);
int c;
while ((c = in.read()) != -1) {
    out.write(c);
}

%>

有必要删除JSP标记外部的换行符,以免损坏图像

<%@ include file="config.jsp" %><%@ page import="java.io.*" %><%@ page contentType="image/png" %><%

String fn = request.getParameter("f");

String filename = uploads_folder + fn;

File file = new File(filename);
FileInputStream in = new FileInputStream(filename);
int c;
while ((c = in.read()) != -1) {
    out.write(c);
}

%>

JSP是指HTML/CSS/JS和其他基于文本的内容的模板。它并不意味着作为像图像这样的二进制数据的模板。本质上,JSP是一个错误的工具。您应该使用一个servlet类。创建一个类
扩展HttpServlet
,并执行与您在JSP中使用
doGet()
方法所做的完全相同的工作(尽管它可以变得更加健壮和高效),最后将图像URL更改为servlet URL而不是JSP URL

另见:

JSP是HTML/CSS/JS和其他基于文本的内容的模板。它并不意味着作为像图像这样的二进制数据的模板。本质上,JSP是一个错误的工具。您应该使用一个servlet类。创建一个类
扩展HttpServlet
,并执行与您在JSP中使用
doGet()
方法所做的完全相同的工作(尽管它可以变得更加健壮和高效),最后将图像URL更改为servlet URL而不是JSP URL

另见:

两件事要考虑, 1) 数据没有因空格而损坏,请使用“trimDirectiveWhitespaces”此页面指令属性来修剪空格。 2) 设置图像内容类型标题

谢谢, Ramesh

< P> >两件事要考虑, 1) 数据没有因空格而损坏,请使用“trimDirectiveWhitespaces”此页面指令属性来修剪空格。 2) 设置图像内容类型标题

谢谢, 拉梅什