// Copyright 2019 GoAdmin Core Team. All rights reserved. // Use of this source code is governed by a Apache-2.0 style // license that can be found in the LICENSE file. package file import ( "mime/multipart" "github.com/GoAdminGroup/go-admin/modules/config" ) // LocalFileUploader is an Uploader of local file engine. type LocalFileUploader struct { BasePath string } // GetLocalFileUploader return the default Uploader. func GetLocalFileUploader() Uploader { return &LocalFileUploader{ config.GetStore().Path, } } // Upload implements the Uploader.Upload. func (local *LocalFileUploader) Upload(form *multipart.Form) error { return Upload(func(fileObj *multipart.FileHeader, filename string) (string, error) { if err := SaveMultipartFile(fileObj, (*local).BasePath+"/"+filename); err != nil { return "", err } return filename, nil }, form) }