package com.sf.file.service.impl;
//package com.sf.file.service.impl;
//
//import java.io.BufferedInputStream;
//import java.io.ByteArrayOutputStream;
//import java.io.File;
//import java.io.FileInputStream;
//import java.io.IOException;
//import java.io.InputStream;
//import java.io.OutputStream;
//import java.net.HttpURLConnection;
//import java.net.URL;
//import java.util.HashMap;
//
//import javax.servlet.http.HttpServletResponse;
//
//import org.apache.commons.lang3.StringUtils;
//import org.springframework.beans.factory.annotation.Value;
//import org.springframework.stereotype.Service;
//import org.springframework.web.bind.annotation.RequestParam;
//import org.springframework.web.multipart.MultipartFile;
//
//import com.sf.common.exception.ServiceException;
//import com.sf.common.utils.file.FileUploadUtils;
//import com.sf.file.service.ISysFileService;
//
///**
// * 本地文件存储
// * 
// * @author ruoyi
// */
//@Service("local")
//public class LocalSysFileServiceImpl extends AbstractFileParser implements ISysFileService {
//	/**
//	 * 资源映射路径 前缀
//	 */
//	@Value("${file.prefix}")
//	public String localFilePrefix;
//
//	/**
//	 * 域名或本机访问地址
//	 */
//	@Value("${file.domain}")
//	public String domain;
//
//	/**
//	 * 上传文件存储在本地的根路径
//	 */
//	@Value("${file.path}")
//	private String localFilePath;
//
//	/**
//	 * 本地文件上传接口
//	 * 
//	 * @param file 上传的文件
//	 * @return 访问地址
//	 * @throws IOException 
//	 * @throws Exception
//	 */
//	@Override
//	public HashMap<String, Object> uploadFile(MultipartFile file) throws IOException {
//		HashMap<String, Object> resultMap = new HashMap<>();
//		String parentPath = "/" + getParentPath();
//		String name = FileUploadUtils.upload(localFilePath + parentPath, file);
//		String url = domain + localFilePrefix + name;
//		resultMap.put("path", url);
//		return resultMap;
//	}
//
//	@Override
//	public byte[] downLoadFile(String path) {
//		// TODO Auto-generated method stub
//		return null;
//	}
//
//	
//	/**
//	 * 根据文件完整路径地址进行文件下载
//	 */
//	public byte[] downloadUrlFile(String filePath) {
//		if (StringUtils.isBlank(filePath)) {
//			throw new ServiceException("文件地址不能为空！");
//		}
//		ByteArrayOutputStream bos = null;
//		byte[] byteData = null;
//		try {
//			bos = new ByteArrayOutputStream();
//			URL url = new URL(filePath);
//			HttpURLConnection conn = (HttpURLConnection) url.openConnection();
//
//			// 设置超时时间为5s
//			conn.setConnectTimeout(5 * 1000);
//
//			// 防止屏蔽程序抓取而返回403错误
//			conn.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
//			conn.setRequestProperty("Cookie", "XXL_JOB_LOGIN_IDENTITY=");
//			// 得到输入流
//			InputStream inputStream = conn.getInputStream();
//			// 获取自己数组
//			byte[] buffer = new byte[4 * 1024];
//			int len = 0;
//			while ((len = inputStream.read(buffer)) != -1) {
//				bos.write(buffer, 0, len);
//			}
//			byteData = bos.toByteArray();
//		} catch (IOException e) {
//			e.printStackTrace();
//		} finally {
//			if (bos != null) {
//				try {
//					bos.close();
//				} catch (IOException e) {
//					e.printStackTrace();
//				}
//			}
//		}
//		return byteData;
//	}
//	
//    public String fileDownLoad(HttpServletResponse response, @RequestParam("fileName") String fileName){
//        File file = new File(localFilePath +'/'+ fileName);
//        if(!file.exists()){
//            throw new ServiceException("下载文件不存在");
//        }
//        response.reset();
//        response.setContentType("application/octet-stream");
//        response.setCharacterEncoding("utf-8");
//        response.setContentLength((int) file.length());
//        response.setHeader("Content-Disposition", "attachment;filename=" + fileName );
//
//        try(BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file));) {
//            byte[] buff = new byte[1024];
//            OutputStream os  = response.getOutputStream();
//            int i = 0;
//            while ((i = bis.read(buff)) != -1) {
//                os.write(buff, 0, i);
//                os.flush();
//            }
//        } catch (IOException e) {
//            //log.error("{}",e);
//            return "下载失败";
//        }
//        return "下载成功";
//    }
//
//}
