使用go进行云存储上传实现实例

 更新时间:2024年01月04日 14:41:25   作者: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云存储上传的资料请关注脚本之家其它相关文章!

相关文章

  • GO语言并发之好用的sync包详解

    GO语言并发之好用的sync包详解

    标准库中的sync包在我们的日常开发中用的颇为广泛,那么大家对sync包的用法知道多少呢,这篇文章就大致讲一下sync包和它的使用,感兴趣的可以学习一下
    2022-12-12
  • go的strings用法小结

    go的strings用法小结

    strings 是 Go 语言标准库中提供的一个包,用于处理字符串相关的操作,本文主要介绍了go的strings用法小结,具有一定的参考价值,感兴趣的可以了解一下
    2023-08-08
  • GScript 编写标准库示例详解

    GScript 编写标准库示例详解

    这篇文章主要为大家介绍了GScript 编写标准库示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • go语言日志实现详解(打印日志、日志写入文件和日志切割)

    go语言日志实现详解(打印日志、日志写入文件和日志切割)

    golang内置了log包,实现简单的日志服务,下面这篇文章主要给大家介绍了关于go语言日志实现(打印日志、日志写入文件和日志切割)的相关资料,需要的朋友可以参考下
    2022-10-10
  • go-zero接入skywalking实现链路追踪的详细教程

    go-zero接入skywalking实现链路追踪的详细教程

    SkyWalking是一个开源的服务追踪系统,它专注于分布式系统的可观测性和服务性能分析,它的主要目标是帮助开发者理解和优化微服务架构中的服务间交互情况,本文介绍了go-zero接入skywalking链路追踪的详细教程,需要的朋友可以参考下
    2024-08-08
  • Go字符串操作深入解析

    Go字符串操作深入解析

    这篇文章主要为大家介绍了Go字符串操作深入解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02
  • golang实现mysql数据库事务的提交与回滚

    golang实现mysql数据库事务的提交与回滚

    这篇文章主要介绍了golang实现mysql数据库事务的提交与回滚,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • Go语言实现广播式并发聊天服务器

    Go语言实现广播式并发聊天服务器

    本文主要介绍了Go语言实现广播式并发聊天服务器,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-08-08
  • 利用Go语言快速实现一个极简任务调度系统

    利用Go语言快速实现一个极简任务调度系统

    任务调度(Task Scheduling)是很多软件系统中的重要组成部分,字面上的意思是按照一定要求分配运行一些通常时间较长的脚本或程序。本文将利用Go语言快速实现一个极简任务调度系统,感兴趣的可以了解一下
    2022-10-10
  • 深入了解Go项目标准目录布局

    深入了解Go项目标准目录布局

    本文主要介绍了Go项目标准目录布局,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05

最新评论