Jsp 无法使用struts2显示上载的图像
我正在尝试将图像上传到mySQL数据库,并使用struts2标记在jsp上显示它。我能够将图像上传到服务器上,但无法在jsp中显示它。我在网上搜索,做了我能做的所有可能的改变。我仍然无法在jsp上显示图像,这让我对图像是否上传产生了新的怀疑。请通读我的密码,告诉我哪里出错了。谢谢 这是我的jspJsp 无法使用struts2显示上载的图像,jsp,struts2,Jsp,Struts2,我正在尝试将图像上传到mySQL数据库,并使用struts2标记在jsp上显示它。我能够将图像上传到服务器上,但无法在jsp中显示它。我在网上搜索,做了我能做的所有可能的改变。我仍然无法在jsp上显示图像,这让我对图像是否上传产生了新的怀疑。请通读我的密码,告诉我哪里出错了。谢谢 这是我的jsp <%@ taglib prefix="s" uri="/struts-tags"%> <div id="form_container" align="center">
<%@ taglib prefix="s" uri="/struts-tags"%>
<div id="form_container" align="center">
<s:form action="upload" method="post" enctype="multipart/form-data">
.
.
<s:file name="image" label="Retinal Image"/>
<s:submit value="upload"/>
</s:form>
</div>
UploadBean.java
private File image;
private String imageContentType;
private String imageFileName;
//getters and setters
最后,此图像必须显示在成功页面中。
Upload.jsp
<s:property value="imageFileName"/>
<s:property value="imageContentType"/>
<s:property value="image"/>
<img src="#session.image"/>
我的struts.xml是
<action name="upload" class="com.ActionClasses.UploadAction">
<interceptor-ref name="fileUpload">
<param name="maximumSize">3145728</param>
<param name="allowedTypes">image/png,image/gif,image/jpeg,image/pjpeg, image/jpg</param>
</interceptor-ref>
<interceptor-ref name="defaultStack"></interceptor-ref>
<result name="success" type="tiles"> uploaded </result>
<result name="error" type="tiles"> upload </result>
<result name="input" type="tiles"> upload </result>
</action>
3145728
image/png,image/gif,image/jpeg,image/pjpeg,image/jpg
上传
上载
上载
请告诉我我犯的错误。谢谢。图像路径应该是相对路径。即relativePath\+filename.ext
string imageRelPath=<relativePath>+"\\"+uploadBean.getImageFileName()
session.put("image"imageRelPath)
然后您的“imageRelPath”将
在你的情况下会的
imageRelPath="./abc.jpg" i.e
session.put("image","./"+uploadBean.getImageFileName());
由于您没有在任何子文件夹中存储plz post ur struts.xml,因此您只将文件路径放在会话对象中。它也有文件名吗?在放入会话对象之前检查它的值。@AnkitSharma我做了你说的更改。但是没有显示静止图像。您可以发布filePath变量的值吗?我的文件路径是/home/saipavan/apache-tomcat-7.0.54/wtpwebapps/DReST/O15091400007。我能够在从动作类打印的路径中找到图像。感谢您的回复。我仍然无法在jsp中显示图像。您能给出“filePath”和“uploadBean.getImageFileName()”的值吗?/home/saipavan/apache-tomcat-7.0.54/wtpwebapps/DReST/O15091400007。这是filePath+uploadBean.getImageFileName()。首先,在保存图像(即.jpg、png等)时,您认为缺少文件的扩展名。其次,如果您的应用程序名为“DReST”,则给出路径“/O15091400007”。如果仍然无法获取图像。在Chrome中,按F12键并检查图像元素Chrome将向您显示图像开发人员控制台。右键单击src,然后单击“在新选项卡中打开”。这将通过chrome提供图像的精确引用路径,并将其与正确路径进行比较。我如何才能做到这一点?我不知道用户上传的是哪种类型的图像。getImageContentType()提供的输出类似于image/jpeg。我应该保留一些连接图像扩展的if条件吗。
filePath=filePath+"\\"image;
imageRelPath="./image/abc.jpg"
imageRelPath="./abc.jpg" i.e
session.put("image","./"+uploadBean.getImageFileName());