@@ -245,15 +245,12 @@ public class BoxCloudProvider: CloudProvider {
245
245
let pendingPromise = Promise< CloudItemMetadata> . pending( )
246
246
_Concurrency. Task {
247
247
do {
248
- guard let fileStream = InputStream ( url: localURL) else {
249
- throw CloudProviderError . itemNotFound
250
- }
251
248
let requestBody = UploadFileRequestBody (
252
249
attributes: UploadFileRequestBodyAttributesField (
253
250
name: cloudPath. lastPathComponent,
254
251
parent: UploadFileRequestBodyAttributesParentField ( id: parentItem. identifier)
255
252
) ,
256
- file : fileStream
253
+ fileURL : localURL
257
254
)
258
255
let files = try await client. uploads. uploadFile ( requestBody: requestBody)
259
256
guard let file = files. entries? . first else {
@@ -274,12 +271,9 @@ public class BoxCloudProvider: CloudProvider {
274
271
let pendingPromise = Promise< CloudItemMetadata> . pending( )
275
272
_Concurrency. Task {
276
273
do {
277
- guard let fileStream = InputStream ( url: localURL) else {
278
- throw CloudProviderError . itemNotFound
279
- }
280
274
let requestBody = UploadFileVersionRequestBody (
281
275
attributes: UploadFileVersionRequestBodyAttributesField ( name: cloudPath. lastPathComponent) ,
282
- file : fileStream
276
+ fileURL : localURL
283
277
)
284
278
let files = try await client. uploads. uploadFileVersion ( fileId: existingItem. identifier, requestBody: requestBody)
285
279
guard let file = files. entries? . first else {
@@ -329,14 +323,11 @@ public class BoxCloudProvider: CloudProvider {
329
323
}
330
324
331
325
private func uploadLargeFile( for uploadSession: UploadSession , from localURL: URL , to cloudPath: CloudPath , fileSize: Int ) async throws -> CloudItemMetadata {
332
- guard let fileStream = InputStream ( url: localURL) else {
333
- throw CloudProviderError . itemNotFound
334
- }
335
326
guard let uploadPartUrl = uploadSession. sessionEndpoints? . uploadPart, let commitUrl = uploadSession. sessionEndpoints? . commit, let partSize = uploadSession. partSize else {
336
327
throw BoxSDKError ( message: " Failed to retrieve upload session data " )
337
328
}
338
329
let fileHash = Hash ( algorithm: . sha1)
339
- let chunksIterator = Utils . iterateChunks ( stream : fileStream , chunkSize: partSize, fileSize: Int64 ( fileSize) )
330
+ let chunksIterator = Utils . iterateChunks ( fileURL : localURL , chunkSize: partSize, fileSize: Int64 ( fileSize) )
340
331
let results = try await Utils . reduceIterator ( iterator: chunksIterator, reducer: client. chunkedUploads. reducer, initialValue: PartAccumulator ( lastIndex: - 1 , parts: [ ] , fileSize: Int64 ( fileSize) , uploadPartUrl: uploadPartUrl, fileHash: fileHash) )
341
332
let sha1 = await fileHash. digestHash ( encoding: " base64 " )
342
333
let digest = " \( " sha= " ) \( sha1) "
0 commit comments