使用go进行云存储上传实现实例
作者:pkg6
这篇文章主要为大家介绍了使用go进行云存储上传实例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪<BR>
关于 About Flysystem
Flysystem是Golang的一个文件存储库。它提供了一个与多种类型的文件系统交互的接口。当您使用Flysystem时,您不仅可以免受供应商锁定,还可以获得始终如一的存储体验。
安装 Install
安装命令
$ go get github.com/pkg6/go-flysystem
示例 example
package main
import (
"fmt"
"github.com/pkg6/go-flysystem"
"github.com/pkg6/go-flysystem/local"
"strings"
)
func main() {
//Define the root directory of the local adapter
root := "./_example/test_data"
// Create local adapter
localAdapter := local.New(&local.Config{Root: root})
//Initialize the adapter
adapters := flysystem.NewAdapters(localAdapter)
adapters.Extend(local.New(&local.Config{Root: "./_example/test_data/2"}), "local2")
var err error
_, err = adapters.WriteReader("4.txt", strings.NewReader("test"))
fmt.Println(err)
adapter, err := adapters.Adapter("local2")
_, err = adapter.WriteReader("4.txt", strings.NewReader("test"))
fmt.Println(err)
//Write file
_, err = adapters.Write("1.txt", []byte("test data"))
fmt.Println(err)
//Write data from resource file
_, err = adapters.WriteStream("2.txt", root+"/1.txt")
fmt.Println(err)
//Update file
_, err = adapters.Update("1.txt", []byte("test update data"))
fmt.Println(err)
//Update data from resource file
_, err = adapters.UpdateStream("2.txt", root+"/1.txt")
fmt.Println(err)
exists, _ := adapters.Exists("2.txt")
fmt.Println(exists)
//Read file
read, err := adapters.Read("2.txt")
fmt.Println(read, err)
//Get file mime type
mimeType, err := adapters.MimeType("2.txt")
fmt.Println(mimeType, err)
//Get file size
size, err := adapters.Size("2.txt")
fmt.Println(size, err)
//Move file
_, err = adapters.Move("1.txt", "4.txt")
fmt.Println(err)
//Copy file
_, err = adapters.Copy("2.txt", "5.txt")
fmt.Println(err)
}You can always create an adapter yourself.
由此你可以创建自己的适配器了。
本文译自 https://github.com/pkg6/go-flysystem
以上就是使用go进行云存储上传实现实例的详细内容,更多关于go云存储上传的资料请关注脚本之家其它相关文章!
