| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- package controller
- import (
- "github.com/kataras/iris/v12/mvc"
- "mime/multipart"
- "path/filepath"
- "xps/constant"
- services "xps/service"
- "xps/utils"
- )
- type FileData struct {
- FileInfo *multipart.FileHeader
- FileData *multipart.File
- }
- type UploadController struct {
- Base
- Service services.UploadService
- }
- func (c *UploadController) BeforeActivation(b mvc.BeforeActivation) {
- b.Handle("POST", "/file", "UploadFile")
- b.Handle("POST", "/files", "UploadFiles")
- }
- // UploadFile :Single Upload
- func (c *UploadController) UploadFile() *JsonResult {
- ocId := c.GetCurOcId()
- userId := c.GetCurUserId()
- f, fh, err := c.Ctx.FormFile("uploadfile")
- if err != nil {
- return ResultErr(err.Error(), nil)
- }
- defer f.Close()
-
- _, err = c.Ctx.SaveFormFile(fh, filepath.Join("./public/uploads/temp", fh.Filename))
- if err != nil {
- return ResultErr(err.Error(), nil)
- }
-
- fileFullPath := filepath.Join("./public/uploads/temp/", fh.Filename)
- targetFile := services.TargetFile{
- FileName: fh.Filename,
- FilePath: fileFullPath,
- }
- file, err := c.Service.UploadFile(ocId, userId, constant.DOC_DIR_TEMP, targetFile)
- if err != nil {
- return ResultErr(err.Error(), nil)
- } else {
- return ResultOk("获取成功", file)
- }
- }
- // UploadFiles :Multiple Upload
- func (c *UploadController) UploadFiles() *JsonResult {
- _, files, err := utils.UploadMultiFiles(c.Ctx)
- if err != nil {
- return ResultErr(err.Error(), nil)
- } else {
- return ResultOk("获取成功", files)
- }
- }
|