store

package
v0.0.0-...-ad531c1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 24, 2023 License: MIT Imports: 1 Imported by: 0

README

文件上传功能

这里也是面向接口编程,因为文件上传可能会有很多总方式:

  1. 上传本地
  2. 上传阿里云
  3. 上传腾讯云
  4. ...

所以面向接口编程是一个不错的选择

// Uploader 文件上传接口
type Uploader interface {
	// Upload 上传文件到云端
	Upload(*UploadParam) (*UploadResult, error)
}

当然,目前只有一个上传的接口,按理来说至少还需要一个删除废物文件的接口.

Documentation

Index

Constants

View Source
const (
	FromStream    = From("stream")
	FromLocalPath = From("localPath")
)

Variables

This section is empty.

Functions

This section is empty.

Types

type From

type From string

From 从哪里获取文件

type UploadParam

type UploadParam struct {
	// 可用于云上操作
	BucketName string `json:"bucket_name"`

	// 目标文件夹
	ObjectDir string `json:"object_dir"`
	// 目标文件名称
	ObjectFileName string `json:"object_file_name"`

	// 待上传文件的本地路径
	LocalPath string `json:"local_path"`
	// 待上传的文件流
	FileStream multipart.File `json:"file_stream"`

	// 从哪里加载文件
	FromTo From `json:"from_to"`
}

UploadParam 文件上传参数

func (*UploadParam) ObjectKey

func (p *UploadParam) ObjectKey() string

ObjectKey 获取 ObjectKey

type UploadResult

type UploadResult struct {
	// 访问的绝对路径 url
	AbsoluteURL string `json:"absolute_url"`
	// 访问的相对路径 uri
	RelativeURI string `json:"relative_uri"`

	// 如果是视频,将封面相对路径返回
	CoverRelativeURI string `json:"cover_relative_uri"`
}

UploadResult 文件上传返回结果

func NewUploadResult

func NewUploadResult() *UploadResult

type Uploader

type Uploader interface {
	// Upload 上传文件到云端
	Upload(*UploadParam) (*UploadResult, error)
}

Uploader 文件上传接口

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL