📄 fileaction.java
字号:
package struts.action;
import java.io.FileOutputStream;
import java.text.DecimalFormat;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.upload.FormFile;
import struts.business.FileManager;
import struts.business.TypeCheck;
import struts.form.FileForm;
public class FileAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) throws Exception{
FileForm fileForm = (FileForm)form;
FileManager fm=new FileManager();
TypeCheck tc=new TypeCheck();
FormFile file = fileForm.getFormfile();
if (file == null)
{
return mapping.findForward("error");
}
String dir=servlet.getServletContext().getRealPath("/file");
String filetitle=fileForm.getFiletitle();
String describe=fileForm.getDescribe();
String filename=file.getFileName();
String fileurl=dir+"\\" +filename;
System.out.print(filename);
int f=filename.lastIndexOf(".");
String filetype=filename.substring(f+1);
boolean ok=tc.check(filetype);
System.out.print(ok+"\n");
if(!ok)
{
return new ActionForward("/TypeError.jsp");
}
System.out.print(filetype+"is upload file type.");
int filesize=file.getFileSize();//返回文件大小
String strfs = null;
//这个地方是处理上传的为M单位计算时,下一个是以kb,在下一个是byte;
if(filesize>=1024*1024)
{
float ok1=(((float)filesize)/1024f/1024f);
DecimalFormat myformat1 = new DecimalFormat("0.00");
strfs= myformat1.format(ok1)+"M";
//System.out.println(strfs+"M");
}
else if(filesize>1024 && filesize<=1024*1024)
{
double ok2=((double)filesize)/1024;
DecimalFormat myformat2=new DecimalFormat("0.00");
strfs = myformat2.format(ok2)+"kb";
// System.out.println(strfs+"kb");
}
else if(filesize<1024)
{
// System.out.println("aaaaaaaaa");
strfs=String.valueOf(filesize)+"byte";
//System.out.println(strfs);
}
int b=0;
b=fm.insert(filetitle,describe,fileurl,strfs,filetype,filename);
if(b!=0)
{
FileOutputStream out = new FileOutputStream(dir+"/" + file.getFileName());
out.write(file.getFileData());
out.close();
file.destroy();
//System.out.println(file.getFileName()+"上传文件的名字");
return new ActionForward("/uploadSuccess.jsp");
}
else
{
return new ActionForward("/uploadError.jsp");
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -