write final file
This commit is contained in:
parent
1c5b200151
commit
fbc1c37f9b
@ -29,7 +29,7 @@ func (s *Service) PrepareStore() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (s *Service) StoreDir(checksum string) (string, error) {
|
func (s *Service) StoreDir(checksum string) (string, error) {
|
||||||
dir := filepath.Join(s.Config.StorePath, "original", checksum[0:0], checksum[1:1], checksum[2:])
|
dir := filepath.Join(s.Config.StorePath, "original", checksum[0:1], checksum[1:2], checksum)
|
||||||
err := os.MkdirAll(dir, 0755)
|
err := os.MkdirAll(dir, 0755)
|
||||||
return dir, err
|
return dir, err
|
||||||
}
|
}
|
||||||
@ -81,6 +81,18 @@ func (s *Service) FileCreate(c *gin.Context) {
|
|||||||
s.Error(c, http.StatusInternalServerError, err)
|
s.Error(c, http.StatusInternalServerError, err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
dir, err := s.StoreDir(originalChecksum)
|
||||||
|
if err != nil {
|
||||||
|
s.Error(c, http.StatusInternalServerError, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
data, err := os.Create(filepath.Join(dir, ".tmp"))
|
||||||
|
if err != nil {
|
||||||
|
s.Error(c, http.StatusInternalServerError, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
defer data.Close()
|
||||||
|
|
||||||
sum := sha1.New()
|
sum := sha1.New()
|
||||||
size := uint64(0)
|
size := uint64(0)
|
||||||
@ -90,7 +102,16 @@ func (s *Service) FileCreate(c *gin.Context) {
|
|||||||
s.Error(c, http.StatusInternalServerError, err)
|
s.Error(c, http.StatusInternalServerError, err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
sum.Write(b)
|
_, err = sum.Write(b)
|
||||||
|
if err != nil {
|
||||||
|
s.Error(c, http.StatusInternalServerError, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
_, err = data.Write(b)
|
||||||
|
if err != nil {
|
||||||
|
s.Error(c, http.StatusInternalServerError, err)
|
||||||
|
return
|
||||||
|
}
|
||||||
size += uint64(len(b))
|
size += uint64(len(b))
|
||||||
}
|
}
|
||||||
r := hex.EncodeToString(sum.Sum(nil))
|
r := hex.EncodeToString(sum.Sum(nil))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user