| // 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) | |
| } | |