12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- package util
- import (
- "app.yhyue.com/moapp/jy_docs/rpc/partnerlib/type/partnerlib"
- jyDocRpcUtil "app.yhyue.com/moapp/jy_docs/services/util"
- "app.yhyue.com/moapp/jyfs/rpc/filesystem"
- "bytes"
- "compress/gzip"
- "compress/zlib"
- "fmt"
- "github.com/gogf/gf/v2/os/gctx"
- "log"
- "time"
- )
- // 上传文档信息
- func FileUpload(fr *filesystem.SaveFileReq) (res partnerlib.UDRes) {
- if fr != nil && len(fr.RawFileContent) > 0 {
- t := time.Now()
- log.Println("--前---", len(fr.RawFileContent), t)
- b, e := CompressWithGzip(fr.RawFileContent)
- if e != nil {
- res.Msg = e.Error()
- return
- }
- fr.RawFileContent = b
- fRes, err := jyDocRpcUtil.FileSystem.SaveFile(gctx.New(), fr)
- log.Println("--后---", len(fr.RawFileContent), "耗时:", time.Since(t))
- if err == nil && fRes.State {
- res.OssDocId = fRes.FileId
- } else {
- res.Code = -1
- res.Msg = fmt.Sprintf("%s上传异常,err:%s", fr.Meta["docName"], err.Error())
- }
- }
- return
- }
- func CompressWithGzip(data []byte) ([]byte, error) {
- var buf bytes.Buffer
- gzipW := gzip.NewWriter(&buf)
- if _, err := gzipW.Write(data); err != nil {
- return nil, err
- }
- if err := gzipW.Close(); err != nil {
- return nil, err
- }
- return buf.Bytes(), nil
- }
- func CompressWithZlib(data []byte) ([]byte, error) {
- var buf bytes.Buffer
- zlibW := zlib.NewWriter(&buf)
- if _, err := zlibW.Write(data); err != nil {
- return nil, err
- }
- if err := zlibW.Close(); err != nil {
- return nil, err
- }
- return buf.Bytes(), nil
- }
|