首先是action:
private File uploadFile;
private String uploadFileFileName; //注意这个变量名,不然会获取不到哦,是FileName
private InputStream fileInput;
public String uploadShowPic() throws Exception {
String res = "uploadShowPic_suc";
InputStream in =null;
OutputStream out =null;
try {
in = new FileInputStream(uploadFile);
out = new FileOutputStream(getServerPath()+"upload\\"+new Date().getTime()+uploadFileFileName);
byte [] temp = new byte[1024*2];
int i = -1;
while ((i=in.read(temp))!=-1) {
out.write(temp,0,i);
}
request.setAttribute("imgpaths", getServerPath()+"upload\\"+new Date().getTime()+uploadFileFileName);
} catch (Exception e) {
} finally{
try {
if (in!=null) {in.close();}
if (out!=null) {out.close();}
} catch (Exception e2) {
}
}
return res;
}
获取路径
private String getServerPath(){
return ServletActionContext.getServletContext().getRealPath("/");
}
显示图片:
public String showImg() throws Exception {
String res = "showimg_suc";
request.setCharacterEncoding("utf-8");
String img = request.getParameter("img");
char [] charimg = img.toCharArray();
for (int i = 0; i < charimg.length; i++) {
if (charimg[i]=='\\') {
charimg[i]='/';
}
}
img = new String(charimg);
fileInput = new FileInputStream(img);
return res;
}
strut2文件中的配置:
<result name="showimg_suc" type="stream">
<param name="contentType">text/plain</param>
<param name="inputName">fileInput</param>
</result>