7.4关于Ceph要新建bucket才能找到文件的问题

来源:7-4 编码实战:Go实现Ceph的文件上传下载+小结

慕粉34730794

2021-04-26

	//同时将文件写入ceph存储
	newFile.Seek(0, 0)
	data, _ := ioutil.ReadAll(newFile)
	bucket := ceph.GetCephBucket("userfile")
	//bucket.PutBucket(s3.PublicRead),要加这句话
	cephPath := "/ceph/" + fileMeta.FileSha1
	bucket.Put(cephPath, data, "octet-stream", s3.PublicRead)
	fileMeta.Location = cephPath

老师你好,我按你视频里敲的时候,测试的时候一直无法获取到ceph里对应的文件,后来我发现获取到的是空文件,我就在handler.go里的文件上传接口里加了注释这句话(bucket.PutBucket),新建了bucket才能获取到正确的文件,但如果这样写不就每次都新建了bucket了吗,我后来注释了发现后续上传也成功找到了,那如何修改代码才能使程序只创建一次bucket呢,而不用创建完后就注释掉

写回答

1回答

xiaomo

2021-04-30

同学你好,正常来说桶只需要创建一次。可以尝试在

bucket.PutBucket(s3.PublicRead)

之后重复上传几个文件试试看呢。另外看看PutObject/GetObject时报了什么错误。

0
0

Go实战仿百度云盘-实现企业级分布式云存储系统

紧随“云时代”技术潮流,分布式云存储系统,做第一代云程序员

1077 学习 · 494 问题

查看课程