FileUploadAction
struts.xml
<param name="maximumSize">10240990</param>
<param name="allowedTypes">application/pdf</param>
其allowedTypes见Tomcat Home/config/web.xml可以添加你想要的类型
message.properties
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