package com.mandi.servlet.file;

import java.util.List;
import java.util.Map;

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

import org.apache.commons.fileupload.FileItem;
import org.springframework.web.multipart.MultipartHttpServletRequest;

public interface FileLoad {
	/**
	 * 上传,dest文件夹
	 * @param dest
	 * @param request
	 * @return
	 */
	public String uploadFile(String dest,HttpServletRequest request,boolean randname);
	/**
	 * 
	 * @param dir
	 * @param request
	 * @param randname
	 * @return 
	 * @author mengly 
	 * @version 创建时间:2016年8月6日 下午6:27:17
	 */
	public Map<String, Object> uploadFileRP(String dir,MultipartHttpServletRequest request,boolean randname);
	/**
	 * 上传,dest文件夹
	 * @param dest
	 * @param request
	 * @return
	 * [{name,size,url}]
	 */
	public List<Object> uploadFile_map(String dest,HttpServletRequest request,boolean randname);
	/**
	 * 上传,dest文件夹
	 * @param dest
	 * @param request
	 * @param size,不能大于size
	 * @return
	 * [{name,size,url}]
	 */
	public List<Object> uploadFile_map(String dest,HttpServletRequest request,boolean randname,long size);
	/**
	 * 上传,dest文件夹
	 * @param dest
	 * @param request
	 * @param size,不能大于size
	 * @return
	 * [{name,size,url}]
	 */
	public Map<String, Object> uploadFile_map(String dest,HttpServletRequest request,FileItem fi,boolean randname,long size);
	/**
	 * 不能断点续传的下载
	 * @param desplayname
	 * @param source
	 * @param response
	 */
	public void downloadFile(String displayname,String source,HttpServletResponse response);
	/**
	 * 可以断点续传的下载
	 * @param desplayname
	 * @param source
	 * @param response
	 * @param request
	 */
	public void downloadFile(String desplayname,String source,HttpServletResponse response,HttpServletRequest request); 
	/**
	 * 文件的实际路径转换为web的相对路径
	 * @param localpath
	 * @param request
	 * @return
	 */
	public String realpath2path(String localpath,HttpServletRequest request);
	
}