3 Star 5 Fork 1

cristiane/push-server-api

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
local_oss.go 1.17 KB
一键复制 编辑 原始数据 按行查看 历史
package oss_repository
import (
"io"
"os"
"path/filepath"
)
type LocalOssRepository struct {
dir string
}
func NewLocalOssRepository() OssInterface {
return &LocalOssRepository{dir: os.TempDir()}
}
func (l *LocalOssRepository) UploadFile(objectName string, data io.Reader) error {
objectName = filepath.Clean(objectName)
objectName = filepath.Join(l.dir,objectName)
out, err := os.Create(objectName)
if err != nil {
return err
}
defer out.Close()
_, err = io.Copy(out, data)
return err
}
func (l *LocalOssRepository) DownloadFile(objectName, downloadedFileName string) error {
objectName = filepath.Clean(objectName)
objectName = filepath.Join(l.dir,objectName)
if _,err := os.Stat(objectName);err != nil{
return err
}
return os.Rename(objectName,downloadedFileName)
}
func (l *LocalOssRepository) ListFile() ([]string, error) {
return nil, nil
}
func (l *LocalOssRepository) DeleteFile(objectName string) error {
objectName = filepath.Clean(objectName)
objectName = filepath.Join(l.dir,objectName)
if _,err := os.Stat(objectName);err != nil{
return err
}
return os.Remove(objectName)
}
func (l *LocalOssRepository) Location() string {
return "disk"
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/cristiane/push-server-api.git
git@gitee.com:cristiane/push-server-api.git
cristiane
push-server-api
push-server-api
7f422e9d5353

搜索帮助