del: 旧文件处理工具包

This commit is contained in:
TsMask
2024-08-16 10:28:26 +08:00
parent 1fab1ead20
commit b001f0ae31

View File

@@ -1,161 +0,0 @@
package file
import (
"fmt"
"net/http"
"os"
)
// const (
// //经过测试linux下延时需要大于100ms
// TIME_DELAY_AFTER_WRITE = 200
// )
// type Response struct {
// Data []string `json:"data"`
// }
// type MMLRequest struct {
// MML []string `json:"mml"`
// }
// func GetFile(w http.ResponseWriter, r *http.Request) {
// log.Debug("PostMMLToNF processing... ")
// vars := mux.Vars(r)
// neType := vars["elementTypeValue"]
// params := r.URL.Query()
// neId := params["ne_id"]
// log.Debug("neType:", neType, "neId", neId)
// neInfo := new(dborm.NeInfo)
// var err error
// if len(neId) == 0 {
// log.Error("ne_id NOT FOUND")
// services.ResponseBadRequest400WrongParamValue(w)
// return
// }
// neInfo, err = dborm.XormGetNeInfo(neType, neId[0])
// if err != nil {
// log.Error("dborm.XormGetNeInfo is failed:", err)
// services.ResponseInternalServerError500DatabaseOperationFailed(w)
// return
// }
// var buf [8192]byte
// var n int
// var mmlResult []string
// if neInfo != nil {
// hostMML := fmt.Sprintf("%s:%d", neInfo.Ip, config.GetYamlConfig().MML.Port)
// conn, err := net.Dial("tcp", hostMML)
// if err != nil {
// errMsg := fmt.Sprintf("Failed to dial %s: %v", hostMML, err)
// log.Error(errMsg)
// mmlResult = append(mmlResult, errMsg)
// response := Response{mmlResult}
// services.ResponseWithJson(w, http.StatusOK, response)
// return
// }
// loginStr := fmt.Sprintf("%s\n%s\n", config.GetYamlConfig().MML.User, config.GetYamlConfig().MML.Password)
// n, err = conn.Write([]byte(loginStr))
// if err != nil {
// log.Errorf("Error: %s", err.Error())
// return
// }
// time.Sleep(time.Millisecond * TIME_DELAY_AFTER_WRITE)
// n, err = conn.Read(buf[0:])
// if err != nil {
// log.Errorf("Error: %s", err.Error())
// return
// }
// log.Debug(string(buf[0:n]))
// body, err := io.ReadAll(io.LimitReader(r.Body, global.RequestBodyMaxLen))
// if err != nil {
// log.Error("io.ReadAll is failed:", err)
// services.ResponseNotFound404UriNotExist(w, r)
// return
// }
// log.Debug("Body:", string(body))
// mmlRequest := new(MMLRequest)
// _ = json.Unmarshal(body, mmlRequest)
// for _, mml := range mmlRequest.MML {
// mmlCommand := fmt.Sprintf("%s\n", mml)
// log.Debug("mml command:", mmlCommand)
// n, err = conn.Write([]byte(mmlCommand))
// if err != nil {
// log.Errorf("Error: %s", err.Error())
// return
// }
// time.Sleep(time.Millisecond * TIME_DELAY_AFTER_WRITE)
// n, err = conn.Read(buf[0:])
// if err != nil {
// log.Errorf("Error: %s", err.Error())
// return
// }
// log.Debug(string(buf[0 : n-len(neType)-2]))
// mmlResult = append(mmlResult, string(buf[0:n-len(neType)-2]))
// }
// }
// response := Response{mmlResult}
// services.ResponseWithJson(w, http.StatusOK, response)
// }
// 格式文件大小单位
func FormatFileSize(fileSize float64) (size string) {
if fileSize < 1024 {
return fmt.Sprintf("%.2fB", fileSize/float64(1))
} else if fileSize < (1024 * 1024) {
return fmt.Sprintf("%.2fKB", fileSize/float64(1024))
} else if fileSize < (1024 * 1024 * 1024) {
return fmt.Sprintf("%.2fMB", fileSize/float64(1024*1024))
} else if fileSize < (1024 * 1024 * 1024 * 1024) {
return fmt.Sprintf("%.2fGB", fileSize/float64(1024*1024*1024))
} else if fileSize < (1024 * 1024 * 1024 * 1024 * 1024) {
return fmt.Sprintf("%.2fTB", fileSize/float64(1024*1024*1024*1024))
} else {
return fmt.Sprintf("%.2fEB", fileSize/float64(1024*1024*1024*1024*1024))
}
}
func IsSymlink(mode os.FileMode) bool {
return mode&os.ModeSymlink != 0
}
const dotCharacter = 46
func IsHidden(path string) bool {
return path[0] == dotCharacter
}
func GetMimeType(path string) string {
file, err := os.Open(path)
if err != nil {
return ""
}
defer file.Close()
buffer := make([]byte, 512)
_, err = file.Read(buffer)
if err != nil {
return ""
}
mimeType := http.DetectContentType(buffer)
return mimeType
}
func GetSymlink(path string) string {
linkPath, err := os.Readlink(path)
if err != nil {
return ""
}
return linkPath
}