package com.mandi.servlet.controller;

import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;

import javax.annotation.Resource;
import javax.imageio.ImageIO;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

import com.mandi.common.RequestParam;
import com.mandi.servlet.file.FileLoad;

/** 
 * @author mengly 
 * @version 创建时间:2015年6月28日 下午7:22:56 
 * 类说明 
 */
@Controller("filedownload")
@RequestMapping(value="/file/download",method={RequestMethod.GET,RequestMethod.POST})
public class Filedownload {
	@Resource
	private FileLoad fileload;
	
	
	@RequestMapping(value = "/down.htm", method = {RequestMethod.POST, RequestMethod.GET })
	@ResponseBody
	public String down(HttpServletRequest r,HttpServletResponse re)
	{
		String fileurl=RequestParam.getString(r, "fileurl");
		String displayname=RequestParam.getString(r, "displayname");
		fileurl=r.getServletContext().getRealPath(fileurl);
		fileload.downloadFile(displayname, fileurl, re);
		return null;
	}
	@RequestMapping(value = "/downr.htm", method = {RequestMethod.POST, RequestMethod.GET })
	@ResponseBody
	public String downR(HttpServletRequest r,HttpServletResponse re)
	{
		String fileurl=RequestParam.getString(r, "fileurl");
		String displayname=RequestParam.getString(r, "displayname");
		fileload.downloadFile(displayname, fileurl, re);
		return null;
	}
	
	@RequestMapping(value = "/viewimage.htm", method = {RequestMethod.POST, RequestMethod.GET })
	@ResponseBody
	public String viewimage(HttpServletRequest r,HttpServletResponse re)
	{
		String filepath=RequestParam.getString(r, "filepath");
		try {
			BufferedImage img=null;
			img=ImageIO.read(new FileInputStream(new File(filepath))); 
			ImageIO.write(img, "jpeg", re.getOutputStream());
		} catch (IOException e) {
			e.printStackTrace();
		}
		return null;
	}
}