首页>代码>java实现uploadify文件上传与下载>/java 实现uploadIfy上传文件/listController.java
package com.jy.action;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.net.URLEncoder;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

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

import net.sf.json.JSONArray;

import org.springframework.stereotype.Controller;
import org.springframework.util.FileCopyUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;

import com.jy.common.ExportExcel;
import com.jy.common.FileCommon;
import com.jy.common.SessionInfo;
import com.jy.dao.Json;
import com.jy.excel.bean.BugTest;
import com.jy.model.Bug;
import com.jy.model.Bug_level;
import com.jy.model.Jy_Bug_files;
import com.jy.model.Project;
import com.jy.model.ProjectFile;
import com.jy.model.Test;
import com.jy.model.User;
import com.jy.service.BugService;

/**
 * zhaokejin@outlook.com
 * 
 * @author zkj
 * 
 */
@Controller
@RequestMapping(value = "/bug.do")
public class BugListController {

//文件下载
		@RequestMapping(params = "method=downloadfile")
		public String downloadfile(String file_url,String storeName,HttpServletResponse response,HttpServletRequest request){
			System.out.println(file_url);
				try {
					request.setCharacterEncoding("UTF-8");
					 BufferedInputStream bis = null;  
				     BufferedOutputStream bos = null; 
				     File file=new File(file_url);
				     if(file.exists()){
				     
				     long fileLength = new File(file_url).length();  
				     if (request.getHeader("User-Agent").toUpperCase().indexOf("MSIE") > 0) {  
				    	 storeName = URLEncoder.encode(storeName, "UTF-8");  
				    	} else {  
				    		storeName = new String(storeName.getBytes("UTF-8"), "ISO8859-1");  
				    	}
				     response.setContentType("application/octet-stream");
				     response.setHeader("Content-disposition", "attachment; filename="  
				                + storeName); 
				        //设置输出长度
				        response.setHeader("Content-Length", String.valueOf(fileLength));
				      //获取输入流
				        bis = new BufferedInputStream(new FileInputStream(file_url));
				        //输出流
				        bos = new BufferedOutputStream(response.getOutputStream());  
				        byte[] buff = new byte[2048];  
				        int bytesRead;  
				        while (-1 != (bytesRead = bis.read(buff, 0, buff.length))) {
				            bos.write(buff, 0, bytesRead);  
				        }
				        //关闭流
				        bis.close(); 
				        bos.close(); 
				     }else{
				    	request.setAttribute("downloaderror", "1");
				    	return "bug/editbuglist";
				     }
				} catch (Exception e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
				return null;
		}
@RequestMapping(params = "method=uploadFile")
	public String upload(HttpServletResponse response,
			HttpServletRequest request, int bug_id, HttpSession session)
			throws IOException {
		System.out.println(bug_id+"========================");
		User user = (User) session.getAttribute(SessionInfo.SessionName);
		String responseStr = "";
		MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
		Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
		// 文件保存路径 ctxPath本地路径
		String ctxPath = request.getSession().getServletContext()
				.getRealPath("/")
				+ "uploadFiles";
		System.out.println(ctxPath);
		SimpleDateFormat sdf = new SimpleDateFormat("yyyyMM");
		String ymd = sdf.format(new Date());
		ctxPath += File.separator + ymd + File.separator;
		System.out.println("ctxpath=" + ctxPath);
		// 创建文件夹
		File file = new File(ctxPath);
		if (!file.exists()) {
			file.mkdirs();
		}
		// String fileName = null;
		Jy_Bug_files jy_Bug_files = null;
		for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
			// // 上传文件
			MultipartFile mf = entity.getValue();
			// fileName = mf.getOriginalFilename();//获取原文件名
			// System.out.println("filename="+fileName);
			// File uploadFile = new File(ctxPath + fileName);
			// try {
			// for(int i = 0;i<file.length;i++){
			// MultipartFile my = file[i];
			String filename = mf.getOriginalFilename();
			System.out.println("filename=" + filename);
			if (filename != null && !"".equals(filename)) {
				String prefix = filename.substring(filename.lastIndexOf("."));

				try {
					File newfile = file
							.createTempFile("bugFiles", prefix, file);
					mf.transferTo(newfile);
					jy_Bug_files = new Jy_Bug_files();
					// 放入数据库
					//					jy_Bug_files.setBug_file_name(mf.getOriginalFilename());
//					jy_Bug_files.setBug_file_size(FileCommon.FormetFileSize(mf
//							.getSize()));
//					jy_Bug_files.setBug_file_person(user.getUsername());
//					jy_Bug_files.setBug_file_url(newfile.getAbsolutePath());
//					jy_Bug_files.setBug_id(bug_id);
//					bugService.uploadfile(jy_Bug_files);
					// FileCopyUtils.copy(mf.getBytes(), uploadFile);
					responseStr = "上传成功";
				} catch (IOException e) {
					responseStr = "上传失败";
					e.printStackTrace();
				}
			}
			response.setHeader("Content-type", "text/html;charset=UTF-8");
			// servlet用UTF-8转码,而不是用默认的ISO8859
			response.setCharacterEncoding("UTF-8");
			response.getWriter().write(responseStr);
		}
		return null;
	}
}
最近下载更多
小白jmhuang  LV12 2023年3月10日
yymmdm  LV6 2022年9月5日
Mayoubin2001  LV21 2022年3月26日
oldfox  LV19 2022年2月22日
Jjjj1111  LV5 2021年12月30日
andy xiao2222222  LV9 2021年10月31日
丶右转  LV11 2020年12月1日
li11111  LV8 2020年6月14日
pt11100  LV9 2020年5月17日
daxianger  LV4 2020年4月20日
最近浏览更多
plinfeng  LV5 5月29日
潘潘123456  LV2 2023年12月24日
WBelong  LV8 2023年12月19日
小白jmhuang  LV12 2023年3月10日
yymmdm  LV6 2022年9月5日
xuexizhuanyong23  LV16 2022年8月7日
顾北城  LV12 2022年5月8日
Mayoubin2001  LV21 2022年3月26日
yuxinnan  LV4 2022年2月23日
zxysss  LV3 2022年1月6日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友