struts 2 annotation 配置文件上传下载
struts 2 的action:
@Action(value="uploadFile",interceptorRefs={@InterceptorRef(params={"allowedTypes","image/bmp,image/jpeg,image/png,image/gif","maximumSize","2000000"},value="fileUpload"),@InterceptorRef("defaultStack")},results={@Result(location="/WEB-INF/pages/uploadResult.jsp",type="dispatcher"),@Result(name="input",location="/WEB-INF/pages/uploadError.jsp",type="dispatcher")},params={"savePath","/upload"})public String upload() {FileOutputStream fos = null;FileInputStream fis = null;byte[] buffer = new byte[1024];int len = 0;try {fos = new FileOutputStream(getSavePath() + "\" + getUploadFileName());fis = new FileInputStream(getUpload());while ((len = fis.read(buffer)) > 0) {fos.write(buffer, 0, len);}} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}return SUCCESS;}可以设置多个interceptor
fileUpload是interceptor的名称,可以在struts-default.xml中找到
allowedTypes是允许上传的文件类型
maximumSize是允许上传文件的大小限制,单位是字节
这些参数都可以在FileUploadInterceptor类中找到
还有,必须显式配置defaultStack