@@ -76,10 +76,12 @@ final class UploadDataTask: NSObject, IdentifiableTask {
76
76
return
77
77
}
78
78
79
- let dataToUpload : Data
79
+ let dataSize : Int
80
80
let file : URL
81
81
do {
82
- dataToUpload = try loadData ( )
82
+ let attr = try FileManager . default. attributesOfItem ( atPath: metaData. filePath. path)
83
+ dataSize = attr [ FileAttributeKey . size] as! Int
84
+
83
85
file = try prepareUploadFile ( )
84
86
} catch let error {
85
87
let tusError = TUSClientError . couldNotLoadData ( underlyingError: error)
@@ -104,7 +106,7 @@ final class UploadDataTask: NSObject, IdentifiableTask {
104
106
sessionTask = task
105
107
106
108
if #available( iOS 11 . 0 , macOS 10 . 13 , * ) {
107
- observeTask ( task: task, size: dataToUpload . count )
109
+ observeTask ( task: task, size: dataSize )
108
110
}
109
111
}
110
112
@@ -190,8 +192,8 @@ final class UploadDataTask: NSObject, IdentifiableTask {
190
192
Note that compiler and api says that readToEnd is available on macOS 10.15.4 and higher, but yet github actions of 10.15.7 fails to find the member.
191
193
return try fileHandle.readToEnd()
192
194
*/
193
- } else { // No range, older versions
194
- data = fileHandle . readDataToEndOfFile ( )
195
+ } else { // No range, we're uploading the file in full so no need to read / recopy
196
+ return metaData . filePath
195
197
}
196
198
197
199
return try files. store ( data: data, id: metaData. id, preferredFileExtension: " uploadData " )
0 commit comments