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

📄 downloadaction.java

📁 一个简单的在线网络硬盘系统
💻 JAVA
字号:
package fm.action;

import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.sql.DataSource;

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 fm.Constants;
import fm.DB;
import fm.UserFile;

/**
 * 
 * @author liuyu
 *2007-7-22
 */
public class DownLoadAction extends Action {
/*
 * (non-Javadoc)
 * @see org.apache.struts.action.Action#execute(org.apache.struts.action.ActionMapping, org.apache.struts.action.ActionForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
 */
public ActionForward execute(ActionMapping map, ActionForm form,
		HttpServletRequest request, HttpServletResponse response) throws Exception {
	// TODO Auto-generated method stub
	  super.execute(  map,   form,  request,   response);
	  
	  String fileId=request.getParameter("fileId");
	  

	  
	  ServletContext context = servlet.getServletContext();
		String sysroot = context.getInitParameter("sysroot");
        String servletContext = servlet.getServletContext().getRealPath("/");
    	DataSource dataSource = (DataSource) context.getAttribute(Constants.DATASOURCE_KEY);
          DB db = new DB(dataSource);
    	  UserFile file=new UserFile();
    	  UserFile file2=new UserFile();
    	  file2= file.searchUserFileByFileId(db, fileId);
    	  
    	  if(file2!=null){
	  String fileName=file2.getFilename();
	  String fileType=file2.getFileType();
	  String filePath =file2.getLocation();
	  response.setHeader("Content-type", fileType);
	  response.setHeader("content-disposition", "attachment;filename=\""  + new String(fileName.getBytes(), response .getCharacterEncoding()) + "\"");
	
	  InputStream is = new FileInputStream(new File(servletContext+"/"+filePath));
	  OutputStream out = new BufferedOutputStream(response.getOutputStream());
      int i;
      while ((i = is.read()) != -1) {
          out.write(i);
      }
      out.close();
      is.close();
      return map.findForward("");
    	  }else{
    		  
    		  
    	  }
	return null;
}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -