问答详情
源自:3-4 [Hibernate单表操作] 对象类型

图片的读取

我读取出来的图片怎么是空的?

提问者:cenyetong 2016-04-08 22:57

个回答

  • cenyetong
    2016-04-11 15:14:31

    570b4e9a0001c2b905000046.jpg

    570b4e9a0001a11005000055.jpg

    测试时没有出现错误,是写入的时候没有写入吗?


  • 沉寂的蜗牛
    2016-04-10 21:33:12

    代码是没有错的,你应该看看hibernate.cfg.xml文件当中hbm2ddl属性值是否为update,如果是create,一运行代码表中的数据就被删了,当然读不出来了

  • cenyetong
    2016-04-09 22:50:42

    @Test
    	public void testWriteBlob()throws Exception{
    		Students s=new Students(1,"jack","男",new Date(),"广州");
    		//先获得照片文件
    		File f=new File("d:"+File.separator+"games_control.jpg");
    		//获取文件的输入流
    		InputStream input=new FileInputStream(f);
    		//创建一个Blob对象
    		Blob image=Hibernate.getLobCreator(session).createBlob(input,input.available());
    		//设置图片属性
    		s.setPicture(image);
    		//保存学生
    		session.save(s);
    	}
    	
    	@Test
    	public void testReadBlob()throws Exception{
    		Students s=(Students)session.get(Students.class, 1);
    		//获取Blob对象
    		Blob image=s.getPicture();
    		//获取照片的输入流
    		InputStream input=image.getBinaryStream();
    		//创建输出流
    		File f=new File("d:"+File.separator+"dest.jpg");
    		//获取输出流
    		OutputStream output=new FileOutputStream(f);
    		//创建缓冲区
    		byte[] buff=new byte[input.available()];
    		input.read(buff);
    		output.write(buff);
    		input.close();
    		output.close();
    	}


  • nora_nora
    2016-04-09 22:18:08

    贴代码看看..