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

BrotherBaby 2016-10-20 02:10:11
oracle数据库存的是blob类型的图片,现在想把这个图片获取到,存到本地,然后将数据库中对应的图片删掉,只保存图片的路径,
这个代码应该怎么实现?
因为条件限制,数据库中的图片是第三方插进来的,所以只能这么办,求大神指点
...全文
387 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
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
  • 打赏
  • 举报
回复
你该表没有对应的路径字段吗,写一个定时器,不停的去轮询,查找路径字段是空的数据,然后把大字段类型存储成文件,最后更新路径字段不就可以了

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧