MCPcopy Index your code
hub / github.com/apache/answer / tryToUploadByPlugin

Method tryToUploadByPlugin

internal/service/uploader/upload.go:365–390  ·  view source on GitHub ↗
(ctx *gin.Context, source plugin.UploadSource)

Source from the content-addressed store, hash-verified

363}
364
365func (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

Callers 4

UploadAvatarFileMethod · 0.95
UploadPostFileMethod · 0.95
UploadPostAttachmentMethod · 0.95
UploadBrandingFileMethod · 0.95

Calls 3

GetSiteAdvancedMethod · 0.65
UploadFileMethod · 0.65
TranslateMethod · 0.45

Tested by

no test coverage detected