Commit 636114f1 by Li Feifei

debug

parent 548da8d6
Pipeline #17129 passed with stages
in 34 seconds
...@@ -8,6 +8,7 @@ import ( ...@@ -8,6 +8,7 @@ import (
"image" "image"
"image/jpeg" "image/jpeg"
"image/png" "image/png"
"io/ioutil"
"os" "os"
"path" "path"
"regexp" "regexp"
...@@ -17,7 +18,6 @@ import ( ...@@ -17,7 +18,6 @@ import (
"ppt_server/library/http" "ppt_server/library/http"
"ppt_server/library/oss" "ppt_server/library/oss"
"github.com/chai2010/webp"
"github.com/gogf/gf/errors/gerror" "github.com/gogf/gf/errors/gerror"
"github.com/gogf/gf/frame/g" "github.com/gogf/gf/frame/g"
"github.com/gogf/gf/os/gtime" "github.com/gogf/gf/os/gtime"
...@@ -105,13 +105,20 @@ func (f *ObtainFile) taskJob(file *zip.File) ([]interface{}, error) { ...@@ -105,13 +105,20 @@ func (f *ObtainFile) taskJob(file *zip.File) ([]interface{}, error) {
defer fd.Close() defer fd.Close()
pictureBytes, _ := ioutil.ReadAll(fd)
// 获取图片信息reader
imageReader := ioutil.NopCloser(bytes.NewBuffer(pictureBytes))
defer imageReader.Close()
// 上传图片reader
fileReader := ioutil.NopCloser(bytes.NewBuffer(pictureBytes))
defer fileReader.Close()
var img image.Image var img image.Image
fileSuffix := path.Ext(file.Name) //获取文件后缀 fileSuffix := path.Ext(file.Name) //获取文件后缀
switch fileSuffix { switch fileSuffix {
case ".png": case ".png":
img, err = png.Decode(fd) img, err = png.Decode(imageReader)
case ".jpeg": case ".jpeg":
img, err = jpeg.Decode(fd) img, err = jpeg.Decode(imageReader)
default: default:
return nil, gerror.New("image ext is not found") return nil, gerror.New("image ext is not found")
} }
...@@ -119,30 +126,24 @@ func (f *ObtainFile) taskJob(file *zip.File) ([]interface{}, error) { ...@@ -119,30 +126,24 @@ func (f *ObtainFile) taskJob(file *zip.File) ([]interface{}, error) {
return nil, err return nil, err
} }
var buf bytes.Buffer replaceName := fmt.Sprintf("%05s", reFileNameCompile.ReplaceAllString(file.Name, "$1")) + fileSuffix
if err = webp.Encode(&buf, img, &webp.Options{Lossless: true}); err != nil {
return nil, err
}
replaceName := fmt.Sprintf("%05s", reFileNameCompile.ReplaceAllString(file.Name, "$1")) + ".webp"
info := img.Bounds() info := img.Bounds()
imageInfo := []interface{}{replaceName, info.Max.X, info.Max.Y} imageInfo := []interface{}{replaceName, info.Max.X, info.Max.Y}
return imageInfo, oss.Upload(f.parser.splitUploadPath()+"images/"+replaceName, bytes.NewReader(buf.Bytes())) return imageInfo, oss.Upload(f.parser.splitUploadPath()+"images/"+replaceName, fileReader)
} }
func (f *ObtainFile) task(file *zip.File) error { func (f *ObtainFile) task(file *zip.File) (err error) {
var (
err error
imageInfo []interface{}
)
for i := 0; i < 3; i++ { for i := 0; i < 3; i++ {
if imageInfo, err = f.taskJob(file); err == nil { if imageInfo, err := f.taskJob(file); err == nil {
f.packed.ImageInfos = append(f.packed.ImageInfos, imageInfo) f.packed.ImageInfos = append(f.packed.ImageInfos, imageInfo)
break break
} }
} }
return err return
} }
func (f *ObtainFile) uploadPicture() error { func (f *ObtainFile) uploadPicture() error {
...@@ -153,7 +154,7 @@ func (f *ObtainFile) uploadPicture() error { ...@@ -153,7 +154,7 @@ func (f *ObtainFile) uploadPicture() error {
} }
defer reader.Close() defer reader.Close()
pool := workpool.New(100) pool := workpool.New(10)
for _, file := range reader.File { for _, file := range reader.File {
tempFile := file tempFile := file
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment