mirror of
https://github.com/ProudMuBai/GoFilm.git
synced 2026-03-13 01:17:31 +08:00
fix default playSource and update upload manage
This commit is contained in:
58
server/plugin/common/util/FileManage.go
Normal file
58
server/plugin/common/util/FileManage.go
Normal file
@@ -0,0 +1,58 @@
|
||||
package util
|
||||
|
||||
import (
|
||||
"bufio"
|
||||
"errors"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"server/config"
|
||||
)
|
||||
|
||||
/*
|
||||
数据请求保存,文件读写
|
||||
*/
|
||||
|
||||
// SaveOnlineFile 保存网络文件, 提供下载url和保存路径, 返回保存后的文件访问url相对路径
|
||||
func SaveOnlineFile(url, dir string) (path string, err error) {
|
||||
// 请求获取文件内容
|
||||
r := &RequestInfo{Uri: url}
|
||||
ApiGet(r)
|
||||
// 如果请求结果为空则直接跳过当前图片的同步, 等待后续触发时重试
|
||||
if len(r.Resp) <= 0 {
|
||||
err = errors.New("SyncPicture Failed: response is empty")
|
||||
return
|
||||
}
|
||||
// 成功拿到图片数据 则创建保存文件的目录
|
||||
if _, err = os.Stat(dir); os.IsNotExist(err) {
|
||||
err = os.MkdirAll(dir, os.ModePerm)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
}
|
||||
// 通过保存路径和url得到保存的具体的文件全路径
|
||||
fileName := filepath.Join(dir, filepath.Base(url))
|
||||
file, err := os.Create(fileName)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
defer file.Close()
|
||||
// 将文件内容写入到file
|
||||
writer := bufio.NewWriter(file)
|
||||
_, err = writer.Write(r.Resp)
|
||||
err = writer.Flush()
|
||||
return filepath.Base(fileName), err
|
||||
|
||||
}
|
||||
|
||||
func CreateBaseDir() error {
|
||||
// 如果不存在指定目录则创建该目录
|
||||
if _, err := os.Stat(config.FilmPictureUploadDir); os.IsNotExist(err) {
|
||||
return os.MkdirAll(config.FilmPictureUploadDir, os.ModePerm)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func RemoveFile(path string) error {
|
||||
err := os.Remove(path)
|
||||
return err
|
||||
}
|
||||
Reference in New Issue
Block a user