我有一个网络项目,我在项目的web文件夹中有了uploadImage。我想加载uploadImage文件夹里面的图像。我在Tomcat服务器中部署war文件。我编码如下
<a href="home.jsp" class="btn btn-default bg-light-gray">Upload a new Image</a>
</div>
</div>
<%
String fname = (String) request.getAttribute("name");
String pathImage = "C://bimla//Dev//java//OCRSystem//WebContent//uploadedImage//";
System.out.print("uploaded image"+fname);
session.setAttribute("filename", fname);
fname = fname + ".jpg";
System.out.println("with extension"+fname);
String path = "";
if (request.getAttribute("name") != null) {
path = request.getAttribute("name").toString();
}
%>
<div class="row">
<div id = "display" class="col-lg-8 center-block modal-content">
<img src="C:\\bimla\\Dev\\java\\OCRSystem\\WebContent\\uploadedImage\<%=fname%>" width="600" height="400"/>
</div>
</div>
但不显示图像。复制粘贴时,浏览器图像中的路径显示正确。你有什么想法吗?
答案 0 :(得分:0)
您的页面是通过http(我假设)加载的。现在幸运的是,网站(例如通过http传入的所有内容)无法解决您的本地文件系统(例如以file:///
或C:/
开头的网址)
在相关说明中,不要构建允许将文件直接上传到webapplication文件夹的Web应用程序。这对
不利而是上传到其他位置并包含下载servlet。
附注:你可能需要重复的\\
以在各种情况下转义反斜杠(虽然HTML没有这样的限制),但是你绝对只需要单/
选择使用斜杠作为目录分隔符(虽然这不是你的问题)
快速修复:您应该通过http加载图片。假设图像与JSP在同一个Web应用程序中,使用<img src="<%=request.getContextPath()%>/uploadImages/<%=fname%>">
(或类似的 - 您没有为确定的语句提供足够的信息)将通过http加载图像。请注意,这只会快速修复您当前的问题。正确的解决方法是将图像上传到Web应用程序目录之外的文件夹(或数据库或存储) - 出于上述原因。