使用struts2的上传实现头像选择,并将图片路径存储至数据库,且显示在jsp页面
下面这段是我action中的代码,可以看到最后的上传是成功的,但是获取的路径是有问题的
private File upload;
private String uploadFileName;
private String uploadContentType;
private File file;
public File getFile() {
return file;
}
public void setFile(File file) {
this.file = file;
}
public File getUpload() {
return upload;
}
public void setUpload(File upload) {
this.upload = upload;
}
public String getUploadFileName() {
return uploadFileName;
}
public void setUploadFileName(String uploadFileName) {
this.uploadFileName = uploadFileName;
}
public String getUploadContentType() {
return uploadContentType;
}
public void setUploadContentType(String uploadContentType) {
this.uploadContentType = uploadContentType;
}
private String msg;
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public String upload() throws Exception {
String path = ServletActionContext.getServletContext().getRealPath("/")+"/upload/";
String str = uploadFileName.substring(uploadFileName.lastIndexOf("."));
System.out.println(path);
String fname = uploadFileName.substring(
uploadFileName.lastIndexOf("/") + 1,
uploadFileName.lastIndexOf("."));
file = new File(path + "/" + fname + str);
System.out.println(file);
try {
FileUtils.copyFile(upload, file);
return SUCCESS;
} catch (Exception e) {
msg = "上传文件失败!";
return INPUT;
}
}
这是我struts2.xml中的代码:
<action name="upload" class="com.shop.action.UploadAction" method="upload">
<interceptor-ref name="fileUpload">
<param name="allowedExtensions">jpg,jpeg,gif,png</param>
<param name="maximumSize">204800</param>
</interceptor-ref>
<interceptor-ref name="defaultStack"></interceptor-ref>
<result name="input">/login.jsp</result>
<result name="success">/ok.jsp</result>
</action>
如果实现如题的功能还需要哪些修改或者添加,请各位大神指点下!
我做的是一个购物网站用户的修改页面,实现此功能!