spring 下载文件的控制器

package com.je.ims.controller.c11;

import java.util.HashMap;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import com.je.ims.util.*;
import com.je.ims.dao.*;
import com.je.ims.hibernate.FileManager;
import com.chttl.im.organization.Person;
import org.springframework.web.bind.RequestUtils;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;

public class DownloadAction implements Controller {
	private FileDownloadBean filedownloadbean;

	public void setFiledownloadbean(FileDownloadBean c1){
		this.filedownloadbean=c1;
	}
   
	public ModelAndView handleRequest(HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		HttpSession session = request.getSession(); 
		
		response.setCharacterEncoding("MS950");

	    Person personMe = (Person) session.getAttribute("person");
	    if( (personMe==null) || (personMe.getUserID()== null) )
	    {
	        response.sendRedirect("../../auditsystem/login.jsp");
	        return null;
		
	    }
	    try{
		Long id =new Long(RequestUtils.getRequiredStringParameter(request, "key"));
		FileManager filemanager=new FileManager();
		filemanager=filedownloadbean.getFilemanagedao().getFile(id);
		String filename=filemanager.getFileCname()+"."+filemanager.getFileType();
		System.out.println(filename);
	    //String filename=filemanager.getFileCname();
		//java.io.File file = new java.io.File("d:" + "/upload/" + filename);
		String allfileadd=new String();
		String idd=String.valueOf(id);
		allfileadd="d:"+"/upload/"+idd+"."+filemanager.getFileType();
		System.out.println(allfileadd);
	    filedownloadbean.download(response,allfileadd);
		
		return null;
	}
	    catch(Exception e)
	    {
	    	Map model = new HashMap();
	    	  model.put("errorMessage","数据错误!");
	    	  model.put("link",null);
	    	  return new ModelAndView("error.jsp",model); 
  
	    }
	    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值