package helper import ( "io" "io/ioutil" "mime/multipart" "os" "path/filepath" "strings" "git.tovijaeschke.xyz/tovi/personal_website/variables" ) func UploadFiles(files []*multipart.FileHeader) error { var ( file multipart.File dst *os.File e error ) for i := range files { file, e = files[i].Open() defer file.Close() if e != nil { return e } dst, e = os.Create(variables.ProjectRoot + "/web/static/" + files[i].Filename) defer dst.Close() if e != nil { return e } if _, e := io.Copy(dst, file); e != nil { return e } } return nil } func WriteBody(title string, body string) (string, error) { var ( filename, path string f *os.File e error ) filename = strings.ReplaceAll(title, " ", "_") + ".gohtml" path = filepath.Join( variables.ProjectRoot, "web/posts/", filename, ) f, e = os.Create(path) if e != nil { return "", e } defer f.Close() _, e = f.WriteString(body) if e != nil { return "", e } return filename, nil } func GetFileContents(path string) (string, error) { var ( content []byte e error ) path = filepath.Join( variables.ProjectRoot, "web/posts/", path, ) content, e = ioutil.ReadFile(path) if e != nil { return "", e } // Convert []byte to string and print to screen return string(content), nil } func DeleteOldPostFile(title string) error { var ( filename, path string e error ) filename = strings.ReplaceAll(title, " ", "_") + ".gohtml" path = filepath.Join( variables.ProjectRoot, "web/posts/", filename, ) e = os.Remove(path) if e != nil { return e } return nil }