|
|
@ -13,10 +13,12 @@ import (
|
|
|
|
"time"
|
|
|
|
"time"
|
|
|
|
|
|
|
|
|
|
|
|
model "github.com/cloudreve/Cloudreve/v3/models"
|
|
|
|
model "github.com/cloudreve/Cloudreve/v3/models"
|
|
|
|
|
|
|
|
"github.com/cloudreve/Cloudreve/v3/pkg/filesystem/driver"
|
|
|
|
"github.com/cloudreve/Cloudreve/v3/pkg/filesystem/fsctx"
|
|
|
|
"github.com/cloudreve/Cloudreve/v3/pkg/filesystem/fsctx"
|
|
|
|
"github.com/cloudreve/Cloudreve/v3/pkg/filesystem/response"
|
|
|
|
"github.com/cloudreve/Cloudreve/v3/pkg/filesystem/response"
|
|
|
|
"github.com/cloudreve/Cloudreve/v3/pkg/request"
|
|
|
|
"github.com/cloudreve/Cloudreve/v3/pkg/request"
|
|
|
|
"github.com/cloudreve/Cloudreve/v3/pkg/serializer"
|
|
|
|
"github.com/cloudreve/Cloudreve/v3/pkg/serializer"
|
|
|
|
|
|
|
|
"github.com/cloudreve/Cloudreve/v3/pkg/util"
|
|
|
|
"github.com/qiniu/go-sdk/v7/auth/qbox"
|
|
|
|
"github.com/qiniu/go-sdk/v7/auth/qbox"
|
|
|
|
"github.com/qiniu/go-sdk/v7/storage"
|
|
|
|
"github.com/qiniu/go-sdk/v7/storage"
|
|
|
|
)
|
|
|
|
)
|
|
|
@ -231,6 +233,17 @@ func (handler *Driver) Delete(ctx context.Context, files []string) ([]string, er
|
|
|
|
|
|
|
|
|
|
|
|
// Thumb 获取文件缩略图
|
|
|
|
// Thumb 获取文件缩略图
|
|
|
|
func (handler *Driver) Thumb(ctx context.Context, file *model.File) (*response.ContentResponse, error) {
|
|
|
|
func (handler *Driver) Thumb(ctx context.Context, file *model.File) (*response.ContentResponse, error) {
|
|
|
|
|
|
|
|
// quick check by extension name
|
|
|
|
|
|
|
|
// https://developer.qiniu.com/dora/api/basic-processing-images-imageview2
|
|
|
|
|
|
|
|
supported := []string{"png", "jpg", "jpeg", "gif", "bmp", "webp", "tiff", "avif", "psd"}
|
|
|
|
|
|
|
|
if len(handler.Policy.OptionsSerialized.ThumbExts) > 0 {
|
|
|
|
|
|
|
|
supported = handler.Policy.OptionsSerialized.ThumbExts
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if !util.IsInExtensionList(supported, file.Name) || file.Size > (20<<(10*2)) {
|
|
|
|
|
|
|
|
return nil, driver.ErrorThumbNotSupported
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
var (
|
|
|
|
var (
|
|
|
|
thumbSize = [2]uint{400, 300}
|
|
|
|
thumbSize = [2]uint{400, 300}
|
|
|
|
ok = false
|
|
|
|
ok = false
|
|
|
|