基本信息
源码名称:java从数据库读取图片并显示 实例源码下载
源码大小:1.33M
文件格式:.zip
开发语言:Java
更新时间:2017-04-05
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍



package lhd.controller;

import java.awt.Image;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import javax.websocket.server.PathParam;

import org.apache.commons.io.FileUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.servlet.ModelAndView;

import lhd.entity.img;
import lhd.service.UserService;
import lhd.service.imgService;

@Controller
public class UploadController {
	@Autowired
	private  imgService imgservice;
	@Autowired
	private HttpServletRequest request1;
	@RequestMapping("/upload")
	public String index(){
		System.out.println("success");
		return "/fileUpload";
	}

		
		private boolean saveFile(MultipartFile file) {
			// 判断文件是否为空
			if (!file.isEmpty()) {
				try {
					// 文件保存路径
					String filePath = request1.getSession().getServletContext().getRealPath("/")   "upload/"
							  file.getOriginalFilename();
					// 转存文件
					file.transferTo(new File(filePath));
					return true;
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
			return false;
		}

		/***
		 * 上传文件 用@RequestParam注解来指定表单上的file为MultipartFile
		 * 
		 * @param file
		 * @return
		 */
		@RequestMapping("fileUpload")
		public ModelAndView fileUpload(@RequestParam("file") MultipartFile file,@RequestParam("user")String inputStr) {
			// 判断文件是否为空
			ModelAndView mv = new ModelAndView();
			img img1=imgservice.getImgByusername(inputStr);
			if(img1==null){
			if (!file.isEmpty()) {
				byte[] b1 = null;
				try {
					b1 = file.getBytes();
				} catch (IOException e1) {
					// TODO Auto-generated catch block
					e1.printStackTrace();
				}
				img img=new img();
				img.setUsername(inputStr);
				img.setImg(b1);
				boolean a=imgservice.insert(img);
				mv.addObject("back",inputStr);	
				if(a)
					mv.setViewName("/success");
				else
			// 重定向
					mv.setViewName("/faill");
			}
			}
			mv.addObject("back",inputStr);
			mv.setViewName("/success");
			return mv;
		}

		/***
		 * 读取上传文件中得所有文件并返回
		 * 
		 * @return
		 */
		@RequestMapping("list")
		public ModelAndView list() {
			String filePath = request1.getSession().getServletContext().getRealPath("/")   "upload/";
			ModelAndView mav = new ModelAndView("list");
			File uploadDest = new File(filePath);
			String[] fileNames = uploadDest.list();
			for (int i = 0; i < fileNames.length; i  ) {
				System.out.println(fileNames[i]);
			}
			return mav;
		}
		@RequestMapping(value="/toLookImage",method = RequestMethod.GET)  
	     public void lookImage(@PathParam("username")String username,HttpServletRequest request,HttpServletResponse response,Model model){  
	         HttpSession seesion = request.getSession(); 
	         
	         System.out.println(username);
	         try{
	      img img=imgservice.getImgByusername(username);
	        byte[] data=img.getImg(); 
	        
	        response.setContentType("img/jpeg");  
	        response.setCharacterEncoding("utf-8");    
	              
	            OutputStream outputStream=response.getOutputStream();  
	            InputStream in=new ByteArrayInputStream(data);  
	              
	            int len=0;  
	            byte[]buf=new byte[1024];  
	            while((len=in.read(buf,0,1024))!=-1){  
	                outputStream.write(buf, 0, len);  
	            }  
	            outputStream.close();  
	        } catch (IOException e) {  
	            // TODO Auto-generated catch block  
	            e.printStackTrace();  
	        }   catch(NullPointerException e){
	        	 System.out.println("fail");
	         }
	          
	     }
}