JavaWeb 从数据库获得图片后怎么存到本地,数据库只存路径

BrotherBaby 小小程序员  2016-10-20 02:10:11
oracle数据库存的是blob类型的图片,现在想把这个图片获取到,存到本地,然后将数据库中对应的图片删掉,只保存图片的路径,
这个代码应该怎么实现?
因为条件限制,数据库中的图片是第三方插进来的,所以只能这么办,求大神指点
...全文
260 点赞 收藏 5
写回复
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
bcsflilong 2016-10-21
/**
	 * 根据文件名及数据库中的byte[]在本地缓存JPG图片
	 * @param bytes  数据库中的byte[]
	 * @param fileName 文件名
	 */
	private static void createJpgFile(byte[] 	bytes,String  dateTime,String fileName) {
		File path=null;
		FileOutputStream outputStream=null;
		try {
			path=new File(JPGFILEPATH_STRING+File.separator+dateTime);
			if (!path.exists()) {
				path.mkdirs();
			}
			outputStream=new FileOutputStream(JPGFILEPATH_STRING+File.separator+dateTime+File.separator+fileName);
			outputStream.write(bytes);
			outputStream.flush();
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally{
			try {
				outputStream.close();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
从数据库中以byte[]形式取出图片
回复
桃子_ 2016-10-20
blob类型的字段,在java里面是用byte[]接收的,将字节转为文件,接下来不就差不多了吗
回复
BrotherBaby 2016-10-20
引用 1 楼 zhouyusunquan 的回复:
你该表没有对应的路径字段吗,写一个定时器,不停的去轮询,查找路径字段是空的数据,然后把大字段类型存储成文件,最后更新路径字段不就可以了
老大你说的那个 “把大字段类型存储成文件,最后更新路径字段” 这一步是怎么来的? 能详细说一下吗?
回复
墨非离 2016-10-20
知道图片访问地址,保存在数据库对应的字段即可
回复
zhouyusunquan 2016-10-20
你该表没有对应的路径字段吗,写一个定时器,不停的去轮询,查找路径字段是空的数据,然后把大字段类型存储成文件,最后更新路径字段不就可以了
回复
发动态
发帖子
Web 开发
创建于2007-09-28

7.9w+

社区成员

Java Web 开发
申请成为版主
社区公告
暂无公告