⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fileaction.java

📁 bbs论坛系统
💻 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 + -