Beispiel #1
0
        private void OnChunkSuccess(ChunkedUpload chunkedUpload)
        {
            _chunksCompleted++;
            _lastChunkUploaded = chunkedUpload;
            UpdateProgress(chunkedUpload.Offset, chunkedUpload.UploadId);
            var offset    = chunkedUpload.Offset;
            var nextChunk = _fileSize.GetValueOrDefault(long.MaxValue) > offset
                                ? _chunkNeeded.Invoke(offset)
                                : new byte[0];

            var chunkLength = nextChunk.GetLength(0);

            if (chunkLength > 0)
            {
                _client.AppendChunkedUploadAsync(chunkedUpload, nextChunk, OnChunkSuccess, OnChunkedUploadFailure);
            }
            else
            {
                _client.CommitChunkedUploadAsync(chunkedUpload, _path, _success, _failure, _overwrite, _parentRevision);
            }
        }