37 lines
684 B
Go
37 lines
684 B
Go
package user
|
|
|
|
import (
|
|
"io"
|
|
"mime/multipart"
|
|
"os"
|
|
"strings"
|
|
)
|
|
|
|
//SaveVideoFileService 文件上传服务
|
|
func SaveVideoFileService(file *multipart.FileHeader, openid *string) (*string, error) {
|
|
p := "./video/" + *openid
|
|
_, err := os.Stat(p)
|
|
if err != nil {
|
|
if os.IsNotExist(err) {
|
|
os.Mkdir(p, os.ModePerm)
|
|
os.Chmod(p, 0755)
|
|
}
|
|
}
|
|
src, err := file.Open()
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
defer src.Close()
|
|
//创建 dst 文件
|
|
fn := strings.TrimLeft(file.Filename, "tmp_")
|
|
out, err := os.Create(p + `/` + fn)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
defer out.Close()
|
|
// 拷贝文件
|
|
_, err = io.Copy(out, src)
|
|
filename := out.Name()
|
|
return &filename, err
|
|
}
|