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) {
|
||||
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)
|
||||
return dir, err
|
||||
}
|
||||
@ -81,6 +81,18 @@ func (s *Service) FileCreate(c *gin.Context) {
|
||||
s.Error(c, http.StatusInternalServerError, err)
|
||||
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()
|
||||
size := uint64(0)
|
||||
@ -90,7 +102,16 @@ func (s *Service) FileCreate(c *gin.Context) {
|
||||
s.Error(c, http.StatusInternalServerError, err)
|
||||
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))
|
||||
}
|
||||
r := hex.EncodeToString(sum.Sum(nil))
|
||||
|
Loading…
x
Reference in New Issue
Block a user