Struts 2 文件上传

FileUploadAction

public class FileUploadAction extends ActionSupport {
private static final long serialVersionUID = 572146812454l ;
private static final int BUFFER_SIZE = 16 * 1024 * 1024;

private File myFile;
private String contentType;
private String fileName;
private String imageFileName;
private String caption;

public void setMyFileContentType(String contentType) {
this .contentType = contentType;
}

public void setMyFileFileName(String fileName) {
this .fileName = fileName;
}

public void setMyFile(File myFile) {
this .myFile = myFile;
}

public String getImageFileName() {
return imageFileName;
}

public String getCaption() {
return caption;
}

public void setCaption(String caption) {
this .caption = caption;
}

private static void copy(File src, File dst) {
try {
InputStream in = null ;
OutputStream out = null ;
try {
in = new BufferedInputStream( new FileInputStream(src), BUFFER_SIZE);
out = new BufferedOutputStream( new FileOutputStream(dst), BUFFER_SIZE);
byte [] buffer = new byte [BUFFER_SIZE];
while (in.read(buffer) > 0 ) {
out.write(buffer);
}
} finally {
if ( null != in) {
in.close();
}
if ( null != out) {
out.close();
}
}
} catch (Exception e) {
e.printStackTrace();
}
}

private static String getExtention(String fileName) {
int pos = fileName.lastIndexOf( "." );
return fileName.substring(pos);
}

@Override
public String execute() {
if(fileName != null){
imageFileName = new Date().getTime() + getExtention(fileName);
System.out.println(getExtention(fileName)+"==="+new Date());
File imageFile = new File(ServletActionContext.getServletContext().getRealPath( "/upload" ) + "/" + imageFileName);
copy(myFile, imageFile);
return SUCCESS;
}
return INPUT;
}

}


struts.xml


<constant name="struts.custom.i18n.resources" value="message"></constant>
<constant name="struts.i18n.encoding" value="GBK"/>



<action name="fileUpload" class="bill.action.FileUploadAction">
<interceptor-ref name="fileUpload">
<param name="maximumSize">10240990</param>
<param name="allowedTypes">application/pdf</param>
</interceptor-ref>
<interceptor-ref name="defaultStack"/>
<result name="input">FileUpload.jsp</result>
<result name ="success" >ShowUpload.jsp </result >
</action>

<param name="maximumSize">10240990</param>
<param name="allowedTypes">application/pdf</param>
其allowedTypes见Tomcat Home/config/web.xml可以添加你想要的类型

message.properties

#xwork.default.invalid.fieldvalue={0} error
struts.messages.error.content.type.not.allowed=\u4e0a\u4f20\u6587\u4ef6\u7c7b\u578b\u4e0d\u5141\u8bb8\uff0c\u8bf7\u91cd\u8bd5\uff01
struts.messages.error.file.too.large=\u4e0a\u4f20\u6587\u4ef6\u8fc7\u5927\uff0c\u8bf7\u91cd\u8bd5\uff01
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值