(ctx *gin.Context, source plugin.UploadSource)
| 363 | } |
| 364 | |
| 365 | func (us *uploaderService) tryToUploadByPlugin(ctx *gin.Context, source plugin.UploadSource) ( |
| 366 | url string, err error) { |
| 367 | siteAdvanced, err := us.siteInfoService.GetSiteAdvanced(ctx) |
| 368 | if err != nil { |
| 369 | return "", err |
| 370 | } |
| 371 | cond := plugin.UploadFileCondition{ |
| 372 | Source: source, |
| 373 | MaxImageSize: siteAdvanced.MaxImageSize, |
| 374 | MaxAttachmentSize: siteAdvanced.MaxAttachmentSize, |
| 375 | MaxImageMegapixel: siteAdvanced.MaxImageMegapixel, |
| 376 | AuthorizedImageExtensions: siteAdvanced.AuthorizedImageExtensions, |
| 377 | AuthorizedAttachmentExtensions: siteAdvanced.AuthorizedAttachmentExtensions, |
| 378 | } |
| 379 | _ = plugin.CallStorage(func(fn plugin.Storage) error { |
| 380 | resp := fn.UploadFile(ctx, cond) |
| 381 | if resp.OriginalError != nil { |
| 382 | log.Errorf("upload file by plugin failed, err: %v", resp.OriginalError) |
| 383 | err = errors.BadRequest("").WithMsg(resp.DisplayErrorMsg.Translate(ctx)).WithError(err) |
| 384 | } else { |
| 385 | url = resp.FullURL |
| 386 | } |
| 387 | return nil |
| 388 | }) |
| 389 | return url, err |
| 390 | } |
| 391 | |
| 392 | // removeExif remove exif |
| 393 | // only support jpg/jpeg/png |
no test coverage detected