Files
miaoDirectory/main.go
T
2024-08-23 12:35:43 +08:00

93 lines
2.7 KiB
Go

package main
import (
// "net/http"
"os"
// "path/filepath"
// "io/ioutil"
"github.com/gin-gonic/gin"
"my-go-project/api"
"my-go-project/fsOperateEventCenter"
)
var staticPath = "./"
var port = ":17705"
func main() {
if _, err := os.Stat(staticPath); os.IsNotExist(err) {
os.Mkdir(staticPath, os.ModePerm)
}
fsOperateEventCenter := fsOperateEventCenter.NewFsOperateEventCenter()
router := gin.Default()
router.Use(corsMiddleware())
router.GET("/query", api.QueryHandler(fsOperateEventCenter))
router.GET("/get/*path", api.GetHandler)
router.POST("/mkdir", api.MkdirHandler)
router.POST("/upload/*path", api.UploadHandler)
router.POST("/cut/*path", api.CutHandler(fsOperateEventCenter))
router.POST("/rename/*path", api.RenameHandler(fsOperateEventCenter))
router.POST("/delete/*path", api.DeleteHandler(fsOperateEventCenter))
router.Run(port)
}
func corsMiddleware() gin.HandlerFunc {
return func(c *gin.Context) {
c.Writer.Header().Set("Access-Control-Allow-Origin", "*")
c.Next()
}
}
// func getHandler(c *gin.Context) {
// decodedPath, err := filepath.Abs(filepath.Join(staticPath, c.Param("path")))
// if err != nil {
// c.JSON(http.StatusInternalServerError, gin.H{"error": "Unable to access path"})
// return
// }
// fileInfo, err := os.Stat(decodedPath)
// if os.IsNotExist(err) {
// c.JSON(http.StatusNotFound, gin.H{"error": "Path not found"})
// return
// }
// if fileInfo.IsDir() {
// files, err := ioutil.ReadDir(decodedPath)
// if err != nil {
// c.JSON(http.StatusInternalServerError, gin.H{"error": "Unable to scan directory"})
// return
// }
// var fileDetails []gin.H
// for _, file := range files {
// fileDetails = append(fileDetails, gin.H{
// "name": file.Name(),
// "size": file.Size(),
// "type": func() string {
// if file.IsDir() {
// return "directory"
// }
// return "file"
// }(),
// "stats": gin.H{
// "atimeMs": file.ModTime().UnixNano() / 1e6,
// "birthtimeMs": file.ModTime().UnixNano() / 1e6,
// "ctimeMs": file.ModTime().UnixNano() / 1e6,
// "mtimeMs": file.ModTime().UnixNano() / 1e6,
// },
// })
// }
// if len(fileDetails) == 0 {
// c.JSON(http.StatusOK, []gin.H{})
// } else {
// c.JSON(http.StatusOK, fileDetails)
// }
// } else {
// c.File(decodedPath)
// }
// }