使用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云存储上传的资料请关注脚本之家其它相关文章!

相关文章

  • golang copy函数使用的坑

    golang copy函数使用的坑

    本文主要介绍了golang copy函数使用的坑,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-04-04
  • go语言串口通信的项目实践

    go语言串口通信的项目实践

    在Go语言可以使用github.com/tarm/serial包来进行串口通信,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-11-11
  • Go-Web框架中AOP方案的实现方式

    Go-Web框架中AOP方案的实现方式

    本文主要介绍了Go-Web框架中AOP方案的实现方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • 一文详解Golang中的errors包

    一文详解Golang中的errors包

    在 Golang 中,errors 包是用于处理错误的标准库, errors 包提供的功能比较简单,使用起来非常方便,接下来就具体讲解一下 errors 包提供的几个函数,感兴趣的小伙伴跟着小编一起来看看吧
    2023-07-07
  • go语言读取csv文件并输出的方法

    go语言读取csv文件并输出的方法

    这篇文章主要介绍了go语言读取csv文件并输出的方法,实例分析了go语言操作csv文件的技巧,需要的朋友可以参考下
    2015-03-03
  • Go语言基础之网络编程全面教程示例

    Go语言基础之网络编程全面教程示例

    这篇文章主要为大家介绍了Go语言基础之网络编程全面教程示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • Go框架自动化工具Beego使用详解

    Go框架自动化工具Beego使用详解

    这篇文章主要为大家介绍了Go框架自动化工具Beego使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • Go Java 算法之字符串解码示例详解

    Go Java 算法之字符串解码示例详解

    这篇文章主要为大家介绍了Go Java 算法之字符串解码示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • zap接收gin框架默认的日志并配置日志归档示例

    zap接收gin框架默认的日志并配置日志归档示例

    本文介绍了在基于gin框架开发的项目中如何配置并使用zap来接收并记录gin框架默认的日志和如何配置日志归档。有需要的朋友可以借鉴参考下,希望能够有所帮助
    2022-04-04
  • Go位集合相关操作bitset库安装使用

    Go位集合相关操作bitset库安装使用

    这篇文章主要为大家介绍了Go位集合相关操作bitset库安装使用,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07

最新评论