tfs操作图片,及小图片
tfs 保存后会返回新的文件名(可以控制为原文件名),后面是通过这个文件名获取,tfs传进去存储的都是在一个默认的根文件夹中,所有的文件通过hash索引查,我们保存数据库
可以拼接一些虚拟的业务路劲
示例中包括,保存进tfs,同时把小图保存在tfs
public static String lessImageTfs(String inPath, String outPath, int times)
{
boolean flag = true;
String name="";
try
{
OutputStream o=TFSUtil.getTfsFile(inPath);
ByteArrayOutputStream oo= new ByteArrayOutputStream();
ByteArrayOutputStream output = (ByteArrayOutputStream) o; //OutputStream 转为InputStream
byte[] data = output.toByteArray();
ByteArrayInputStream input = new ByteArrayInputStream(data);
// BufferedImage image = ImageIO.read(input);
BufferedImage bufferedImage = ImageIO.read(input);
bufferedImage = lessImage(bufferedImage, times);
name= TFSUtil.saveTfsByteFile(output.toByteArray(), outPath);
}
catch (Exception e)
{
e.printStackTrace();
return "";
}
return name;
}
public static BufferedImage lessImage(BufferedImage bufferedImage, int times)
throws Exception
{
int height = bufferedImage.getHeight() / times;
int width = bufferedImage.getWidth() / times;
BufferedImage newBufferedImage = new BufferedImage(width, height, bufferedImage.getType());
Graphics g = newBufferedImage.getGraphics();
g.drawImage(bufferedImage, 0, 0, width, height, null);
g.dispose();
return newBufferedImage;
}
相关推荐
1. 无独立图片服务器:这种方案在Tomcat目录下直接存放图片,简化了实现过程,无需额外的技术,数据库记录和访问方便。然而,它会增加Web服务器的压力,不易扩展,可能导致性能问题。 2. 单一独立文件服务器(非...
例如,TFS适合存储海量小图片和大文件,HDFS适合大文件存储且支持MapReduce计算模型,而Ceph则提供了一个统一的存储解决方案,支持对象、块和文件系统。 在备份机制上,FastDFS提供了多种策略,例如分组内冗余Block...
商品展示需考虑图片处理,如GFS、TFS或FastDFS等分布式文件系统用于存储和分发图片。为了提高查询速度,常采用缓存策略,如利用内存缓存来加速访问,同时处理增量(增加、修改、下架)和全量数据同步。静态化技术,...
昨天看到一篇介绍TFS的文章,大意是为了处理海量图片,采用分布式架构,将小图片合并为大的文件 兴趣驱使下,写了一个简单的文件合并拆分程序 合并的方法很简单,将小文件写入到大文件中,使用二进制的方式。在大...
**FastDFS**作为一款开源的轻量级分布式文件系统,特别适用于存储4KB到500MB之间的文件,例如图片、视频、文档等。其设计目标是为了解决大数据存储和读写负载均衡问题,特别是在高并发场景下表现出色。 #### 分布式...
| **适合类型** | 建议4KB~500MB | 小于64KB | 大文件 | 对象、文件、块 | 海量小图片 | 适合大文件 | 文件 | | **文件分布** | 小文件合并存储 | 小文件合并 | 文件分片 | 大文件分块 | OSD一主多从 | Stripe(raid0...