Struts2图片上传功能实现

Struts2 的图片上传功能,算是 Java Web 开发里比较常见的需求了。用 Struts2 来搞图片上传,配置灵活,流程也清晰,写起来还挺顺手的。你只需要在struts.xml里定义好Action,在Action类里接收文件,上传逻辑就行,流程清晰,扩展也方便。

Action 类里通常会有像File imageString imageFileName这些属性,用来接收前端传过来的文件内容和文件名。Struts2 会自动把表单上传的内容绑定到这些属性,挺省事的。执行方法里判断下文件是否存在,验证下类型、大小,保存到你设定的服务器路径就搞定。

比如:

public class ImageUploadAction extends ActionSupport {
  private File image;
  private String imageContentType;
  private String imageFileName;

@Override public String execute() throws Exception { if (image != null) { // 做一些验证 String savePath = "/path/to/save/images/" + imageFileName; FileUtils.copyFile(image, new File(savePath)); return SUCCESS; } else { return INPUT; } }

// getter 和 setter 省略 }

前端页面只要用一个普通的上传表单就可以:

<form action="upload.action" method="post" enctype="multipart/form-data">
  <input type="file" name="image" />
  <input type="submit" value="上传" />
</form>

注意点也有几个:比如文件大小限制、类型验证、异常这些都要加上,别被用户随便传点奇奇怪怪的文件上来。想提升体验,可以考虑加个AJAX异步上传,用 jQuery 写也不麻烦,响应快、页面不卡顿。

你如果对Struts2的上传机制还不熟,可以顺便看看这篇:Struts2 Uploadify 图片上传,讲得比较清楚,适合配合着看。

,Struts2 搞上传是比较成熟的一套玩法,如果你项目用的是这个框架,那就放心地用上,省心不少。

rar 文件大小:3.61MB