package handler import ( "net/http" "server/internal/model/common" "server/internal/pkg/httputil" "server/internal/service" ) type SysFileHandler struct { service *service.SysFileService } func NewSysFileHandler(service *service.SysFileService) *SysFileHandler { return &SysFileHandler{ service: service, } } func (h *SysFileHandler) ListPage(w http.ResponseWriter, r *http.Request) { pagination := httputil.Pagination(r) list, total, err := h.service.ListPage(r.Context(), pagination) if err != nil { httputil.Fail(w, err) return } resp := common.PageResponse{ Page: pagination.Page, PageSize: pagination.PageSize, List: list, Total: total, } httputil.OkWithPage(w, &resp) } func (h *SysFileHandler) Upload(w http.ResponseWriter, r *http.Request) { folder := r.FormValue("folder") if folder == "" { folder = "/" } _, header, err := r.FormFile("file") if err != nil { httputil.Fail(w, err) return } file, err := h.service.Upload(r.Context(), folder, header) if err != nil { httputil.Fail(w, err) return } httputil.Ok(w, file) }