Java 为什么图像不显示在JSP页面上
我对以下场景有点迷茫:Java 为什么图像不显示在JSP页面上,java,image,jsp,servlets,Java,Image,Jsp,Servlets,我对以下场景有点迷茫: 用户上传图像-upload.jsp(多部分/表单数据) servlet执行所有脏作业(保存图像、获取名称、保存名称、重定向到display.jsp) 在display.jsp上,应该显示刚刚上传的图像 不幸的是display.jsp页面是空的。当我在firefox下查看源页面时,一切似乎都很好,提供了指向图像的有效链接 <img src="/UploadTest/avatar/55_445194458350473498.png" border=0 width="48
<img src="/UploadTest/avatar/55_445194458350473498.png" border=0 width="48px" height="48px"/>
以下是用于上传、处理和显示图片的代码:
upload.jsp
<form action="Upload" method="post" enctype="multipart/form-data">
<label for="file">File:</label>
<input type="file" id="file" name="file">
<input type="submit" value="submit">
</form>
display.jsp
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<div>
<img src="${pageContext.request.contextPath}/avatar/${filename}" border=0 width="48px" height="48px"/>
<div>
</body>
</html>
JSP页面
如果我将display.jsp中的${filename}替换为之前上载的特定图像的静态名称,则显示没有问题,因此我假设图像处理正确,只是前端缺少一些东西
顺便说一下:当调试器处于活动状态时,一切正常,但当关闭时,问题又出现了
干杯
托马斯你能在pic查看器中查看上传的图像吗 文件大小是否正确,数据是否未损坏 您的服务器是否在端口8084上运行
我想知道为什么在应该是image/png的时候输入text/html。很好的解释。我仔细研究了你的问题,并创建了一个样本。我有和你一样的问题。 解决方案是在display.jsp文件的下面一行:
<%@page isELIgnored="false" %>
我认为EL和page的问题是无法正确评估。
代码如下:
upload.jsp和upload.java与您的相同
display.jsp:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page isELIgnored="false" %>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<div>
<img src="${pageContext.request.contextPath}/images/${filename}" border=0 width="48px" height="48px" alt="Image Not found"/>
<div>
</body>
</html>
JSP页面
希望这对你也有用
谢谢上传前和上传后的图像完全正确。我可以在浏览器中看到它们,但只有在实名不是${filename}变量的情况下才能看到。您使用什么调试器?你使用ApacheTomcat吗?@MagnusStrand:这是你的答案吗?我只看到一些评论here@codeMaker:对不起,我还不能使用
发表评论。无需在注释中使用ContextPath,您有location=“/Users/Thomas/NetBeansProjects/UploadTest/web/avatar”。但是在你的链接中有src=“/UploadTest/avatar/55445194458350473498.png”。那是打字错误吗?avatar文件夹在web文件夹中吗?@rickz是的,avatar文件夹在web文件夹中。好的,将display.jsp中的链接更改为@rickz这不是一个好位置,正如我前面所说,文件的位置没有问题,src标记指向正确的图像。问题是为什么图像是文本/html类型?谢谢你,巴德,但问题出在其他地方。我确实对upload.jsp做了一些更改,但结果是一样的。在upload.jsp中添加了两行:String filename1=file.getName();字符串filename2=“55_4518625602858925634.png”;在Display.jsp中:显示${filename2},但不显示${filemame1
<%@page isELIgnored="false" %>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page isELIgnored="false" %>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<div>
<img src="${pageContext.request.contextPath}/images/${filename}" border=0 width="48px" height="48px" alt="Image Not found"/>
<div>
</body>
</html>