@@ -154,6 +154,13 @@ func (cmd *UpdateFileCommand) ProcessContent(allocationObj *allocation.Allocatio
154
154
allocation .UpdateConnectionObjSize (connID , - cmd .existingFileRef .Size )
155
155
}
156
156
157
+ if cmd .thumbFile != nil {
158
+ err := cmd .ProcessThumbnail (allocationObj )
159
+ if err != nil {
160
+ return result , err
161
+ }
162
+ }
163
+
157
164
saveChange , err := allocation .SaveFileChange (connID , cmd .fileChanger .PathHash , cmd .fileChanger .Filename , cmd , cmd .fileChanger .IsFinal , cmd .fileChanger .Size , cmd .fileChanger .UploadOffset , fileOutputData .Size )
158
165
if err != nil {
159
166
return result , err
@@ -162,18 +169,17 @@ func (cmd *UpdateFileCommand) ProcessContent(allocationObj *allocation.Allocatio
162
169
allocation .UpdateConnectionObjSize (connID , cmd .fileChanger .Size )
163
170
result .UpdateChange = false
164
171
}
165
-
166
- if allocationObj .BlobberSizeUsed + (allocationSize - cmd .existingFileRef .Size ) > allocationObj .BlobberSize {
167
- return result , common .NewError ("max_allocation_size" , "Max size reached for the allocation with this blobber" )
168
- }
169
-
170
- if cmd .thumbFile != nil {
171
- err := cmd .ProcessThumbnail (allocationObj )
172
+ if cmd .thumbHeader != nil {
173
+ err = allocation .SaveFileChanger (connID , & cmd .fileChanger .BaseFileChanger )
172
174
if err != nil {
173
175
return result , err
174
176
}
175
177
}
176
178
179
+ if allocationObj .BlobberSizeUsed + (allocationSize - cmd .existingFileRef .Size ) > allocationObj .BlobberSize {
180
+ return result , common .NewError ("max_allocation_size" , "Max size reached for the allocation with this blobber" )
181
+ }
182
+
177
183
return result , nil
178
184
}
179
185
@@ -182,7 +188,6 @@ func (cmd *UpdateFileCommand) ProcessThumbnail(allocationObj *allocation.Allocat
182
188
connectionID := cmd .fileChanger .ConnectionID
183
189
if cmd .thumbHeader != nil {
184
190
defer cmd .thumbFile .Close ()
185
-
186
191
thumbInputData := & filestore.FileInputData {Name : cmd .thumbHeader .Filename , Path : cmd .fileChanger .Path , IsThumbnail : true , FilePathHash : cmd .fileChanger .PathHash }
187
192
thumbOutputData , err := filestore .GetFileStore ().WriteFile (allocationObj .ID , connectionID , thumbInputData , cmd .thumbFile )
188
193
if err != nil {
@@ -191,15 +196,14 @@ func (cmd *UpdateFileCommand) ProcessThumbnail(allocationObj *allocation.Allocat
191
196
192
197
cmd .fileChanger .ThumbnailSize = thumbOutputData .Size
193
198
cmd .fileChanger .ThumbnailFilename = thumbInputData .Name
194
- err = allocation .SaveFileChanger (connectionID , & cmd .fileChanger .BaseFileChanger )
195
- return err
199
+ return nil
196
200
}
197
201
return common .ErrNoThumbnail
198
202
}
199
203
200
204
func (cmd * UpdateFileCommand ) reloadChange () {
201
205
changer := allocation .GetFileChanger (cmd .fileChanger .ConnectionID , cmd .fileChanger .PathHash )
202
- if changer != nil {
206
+ if changer != nil && changer . ThumbnailHash != "" {
203
207
cmd .fileChanger .ThumbnailFilename = changer .ThumbnailFilename
204
208
cmd .fileChanger .ThumbnailSize = changer .ThumbnailSize
205
209
cmd .fileChanger .ThumbnailHash = changer .ThumbnailHash
0 commit comments