发表于: 2017-11-22 23:25:51
2 627
今天完成的事情:
提交任务7. 最后学习了师兄添加缓存的那部分代码,,,问了下师兄,这里使用的方式是使用输出流到缓存的方式,将输入流以字节为单位逐个传入缓存..当字节数为0时说明里面已经没有内容,缓存结束,
刷新此输出流并强制写出所有缓冲的输出字节。flush 的常规协定是:如果此输出流的实现已经缓冲了以前写入的任何字节,则调用此方法指示应将这些字节立即写入它们预期的目标。
//声明一个OSSObject
OSSObject ossObject = null;
//把数据流缓存下来以供使用
ByteArrayOutputStream byteArrayOutputStream = null;
try {
//下载文件
ossObject = ossClient.getObject(bucketName, key);
//获取文件元信息
ObjectMetadata metadata = ossObject.getObjectMetadata();
//获取文件大小
Long length = metadata.getContentLength();
logImageUtil.info(name + "length:" + length);
InputStream inputStream = ossObject.getObjectContent();
//获取文件流内容到缓存
byteArrayOutputStream = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int leng;
try {
//执行缓存
while ((leng = inputStream.read(buffer)) > -1) {
byteArrayOutputStream.write(buffer, 0, leng);
}
byteArrayOutputStream.flush();
} catch (IOException io) {
logImageUtil.error(io.getMessage());}
整理小课堂.
明天计划的事情:
开始任务8.
准备小课堂.
遇到的困难:
今天给师兄demo的时候出了情况,,在测试类里面无法使用@autowride 声明注入的bean工具类. .必须getbean..否则会出现方法为空值的情况,,
目前查到的解决方法是因为注解是spring容器解析的,要想让注解能够生效的话是需要spring容器启动的,这就是web项目启动环境下使用的。你在junit里面测试,要想让Spring容器管理bean完成自动注入的话,可以使用Spring的junit测试工具注解 .
@Transactional
收获:
巩固jsp部分知识.
任务进度:任务7步骤2
任务开始时间:2017-11-13
预计demo时间:2017-11-21
是否有延期风险:暂无
禅道:http://task.ptteng.com/zentao/task-view-13483.html
评论