commit 95ce7f88aa0bfe5b52c9e9c7313dcff07919f7c1
parent da02fcff8fe35fe4db1e3ca085f9e504fbb4cbb1
Author: n0tr1v <n0tr1v@protonmail.com>
Date: Wed, 25 Jan 2023 18:24:56 -0800
cleanup filedrop
Diffstat:
1 file changed, 9 insertions(+), 6 deletions(-)
diff --git a/pkg/web/handlers/handlers.go b/pkg/web/handlers/handlers.go
@@ -4196,20 +4196,23 @@ func FileDropHandler(c echo.Context) error {
data.Error = "invalid file name, 3-50 characters"
return c.HTML(http.StatusOK, formHTML+data.Error)
}
- fileBytes, err := ioutil.ReadAll(file)
+
+ newFileName := utils.MD5([]byte(utils.GenerateToken32()))
+ f, err := os.OpenFile(filepath.Join(database.FiledropFolder, newFileName), os.O_WRONLY|os.O_CREATE|os.O_TRUNC, 0644)
if err != nil {
data.Error = err.Error()
return c.HTML(http.StatusOK, formHTML+data.Error)
}
-
- newFileName := utils.MD5([]byte(utils.GenerateToken32()))
- if err := ioutil.WriteFile(filepath.Join(database.FiledropFolder, newFileName), fileBytes, 0644); err != nil {
- logrus.Error(err)
+ defer f.Close()
+ written, err := io.Copy(f, file)
+ if err != nil {
+ data.Error = err.Error()
+ return c.HTML(http.StatusOK, formHTML+data.Error)
}
filedrop.FileName = newFileName
filedrop.OrigFileName = origFileName
- filedrop.FileSize = int64(len(fileBytes))
+ filedrop.FileSize = written
filedrop.DoSave()
return c.String(http.StatusOK, "File uploaded successfully")