Create WriteFile() so backend handles files
This commit is contained in:
parent
863581f590
commit
70d403d7d7
@ -3,6 +3,7 @@ package backend
|
|||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
|
"log"
|
||||||
"os"
|
"os"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -19,10 +20,30 @@ func CopyFile(src, dst string) error {
|
|||||||
}
|
}
|
||||||
defer dstFile.Close()
|
defer dstFile.Close()
|
||||||
|
|
||||||
_, err = io.Copy(dstFile, srcFile)
|
if _, err = io.Copy(dstFile, srcFile); err != nil {
|
||||||
if err != nil {
|
|
||||||
return fmt.Errorf("error copying file: %v", err)
|
return fmt.Errorf("error copying file: %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
return dstFile.Sync()
|
return dstFile.Sync()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func WriteFile(path string, src io.Reader) error {
|
||||||
|
file, err := os.Create(path)
|
||||||
|
if err != nil {
|
||||||
|
log.Println(err)
|
||||||
|
return fmt.Errorf("error creating file: %v", err)
|
||||||
|
}
|
||||||
|
defer file.Close()
|
||||||
|
|
||||||
|
if _, err = io.Copy(file, src); err != nil {
|
||||||
|
log.Println(err)
|
||||||
|
return fmt.Errorf("error copying file: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
if err = file.Sync(); err != nil {
|
||||||
|
log.Println(err)
|
||||||
|
return fmt.Errorf("error syncing file: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
@ -2,10 +2,8 @@ package frontend
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
|
||||||
"log"
|
"log"
|
||||||
"net/http"
|
"net/http"
|
||||||
"os"
|
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
|
|
||||||
"github.com/google/uuid"
|
"github.com/google/uuid"
|
||||||
@ -60,15 +58,7 @@ func UploadPDF(c *b.Config, s *b.CookieStore) http.HandlerFunc {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
pdf, err := os.Create(absFilepath)
|
if err = b.WriteFile(absFilepath, file); err != nil {
|
||||||
if err != nil {
|
|
||||||
log.Println(err)
|
|
||||||
http.Error(w, err.Error(), http.StatusInternalServerError)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
defer pdf.Close()
|
|
||||||
|
|
||||||
if _, err = io.Copy(pdf, file); err != nil {
|
|
||||||
log.Println(err)
|
log.Println(err)
|
||||||
http.Error(w, err.Error(), http.StatusInternalServerError)
|
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||||
return
|
return
|
||||||
|
Loading…
x
Reference in New Issue
Block a user