发表于: 2017-11-14 18:51:28

1 867


今日完成:

解决昨日mvc调用阿里云sdk无法生成bean的问题,尝试从阿里云下载单个文件到七牛云,从七牛云下载到阿里云,然后下载阿里云整个空间内的文件到七牛云中,从下载七牛云整个空间的文件并上传到阿里云中。

明日计划:

整合任务。

遇到的困难:

认真看了昨天留下的问题,尝试添加这些类的包,然后就好了,但是不知道为什么在测试类中不会出现这种错误,而在mvc中需要添加这些包,成功了就行。

今天遇到主要的难点就是aliyun下载api返回的是文件,而七牛云下载api返回的是文件url地址,然后我百度了一下,发现七牛云改版了,在之前的版本可以直接提交inputstream文件(其实现在也可以),但是我看了下sdk目录完全不一样了,之前的版本空间只能选择华东区的,或者是能通过代码切换我不知道,但我找不到切换地区的方法,而新版本有,通过下面的这个就直接自动识别区域。而老版没找到更改的方法,没办法,只能用新版了,去切换文件类型。

Zone z = Zone.autoZone();
Configuration c = new Configuration(z);

这里的a是阿里云下载的文件,然后通过.getObjectContent来切换成inputstream提交。

//从阿里云下载,上传到七牛
OSSObject a=oss.getObject(new GetObjectRequest("wzhphoto", "ttt"));
qiniu.upload("dadada",a.getObjectContent());

因为七牛云下载文件时出现的是url,然后通过URL.openStream来创建文件流,然后就通过阿里云的api带走

URL url=new URL(qiniu.download("dadada.png"));
InputStream is=url.openStream();
oss.putObject("wzhphoto","qwe.png",is);

然后关于整个空间迁徙的步骤就是先得到空间内的所有文件名,然后遍历上传。

List<OSSObjectSummary> sums = oss.listObjects("wzhphoto").getObjectSummaries();
for (OSSObjectSummary s : sums) {
OSSObject a=oss.getObject(new GetObjectRequest("wzhphoto", s.getKey()));
   qiniu.upload(s.getKey(),a.getObjectContent());
}

以下就是这段代码的展示

这个是从七牛迁移到阿里云的代码

BucketManager.FileListIterator fileListIterator = qiniu.listObject("wzhphoto");
while (fileListIterator.hasNext()) {
//处理获取的file list结果
   FileInfo[] items = fileListIterator.next();
   for (FileInfo item : items) {
URL url=new URL(qiniu.download(item.key));
       InputStream is=url.openStream();
       oss.putObject("wzhphoto",item.key,is);
       //System.out.println(item.key);每个文件的名字
   }

}


进度:

任务七

任务开始时间:2017.11.11

预计demo时间:2017.11.16

禅道:http://task.ptteng.com/zentao/my-task.htm

demo没做出来,今天的成果展示和代码展示都在文本内了。



返回列表 返回列表
评论

    分享到