Commit d80cb06e by Li Feifei

上传webp

parent 4bcc3976
......@@ -2,6 +2,7 @@ package upload
import (
"archive/zip"
"bytes"
"crypto/md5"
"encoding/hex"
"encoding/json"
......@@ -9,6 +10,8 @@ import (
"fmt"
"github.com/aliyun/aliyun-oss-go-sdk/oss"
"github.com/astaxie/beego/orm"
"github.com/chai2010/webp"
"image/png"
"io"
"io/ioutil"
"mime"
......@@ -90,6 +93,7 @@ func Down(v *models.XyuSmallTempFiles) {
objectName := v.Url[strings.Index(v.Url, "com/")+4:]
// 文件以及存在就不需要下载
if _, err := os.Stat(filePath); err != nil {
// Get the data
resp, err := http.Get(url)
......@@ -486,6 +490,13 @@ func pdfThumbnail(objectPath string, file *zip.File, bucket *oss.Bucket) error {
return err
}
defer fc.Close()
img, _ := png.Decode(fc)
var buf bytes.Buffer
if err = webp.Encode(&buf, img, &webp.Options{Lossless:true}); err != nil {
return err
}
objectPathName := objectPath + "images/"
var fileSuffix string
fileSuffix = path.Ext(file.Name) //获取文件后缀
......@@ -493,9 +504,8 @@ func pdfThumbnail(objectPath string, file *zip.File, bucket *oss.Bucket) error {
var filenameOnly string
filenameOnly = strings.TrimRight(file.Name, fileSuffix)
filenameOnly = strings.Replace(filenameOnly, "p", "", -1)
fileName := fmt.Sprintf("%05s", filenameOnly) + fileSuffix
return bucket.PutObject(objectPathName+fileName, fc)
fileName := fmt.Sprintf("%05s", filenameOnly) + ".webp"
return bucket.PutObject(objectPathName+fileName, bytes.NewReader(buf.Bytes()))
}
......
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