追加上传指的是使用OSS API中的AppendObject在已上传的Appendable Object类型文件后直接追加内容。
有关追加上传的更多详情,请参见追加上传
以下代码用于追加上传:
OSSAppendObjectRequest * append = [OSSAppendObjectRequest new]; // 配置以下必填字段,其中bucketName为存储空间名称;objectKey等同于objectName,表示追加上传文件到OSS时需要指定包含文件后缀在内的完整路径,例如abc/efg/123.jpg。 append.bucketName = @"<bucketName>"; append.objectKey = @"<objectKey>"; // 指定首次进行追加上传的位置。 append.appendPosition = 0; NSString * docDir = [self getDocumentDirectory]; append.uploadingFileURL = [NSURL fileURLWithPath:@"<filepath>"]; // 以下为可选字段。 append.uploadProgress = ^(int64_t bytesSent, int64_t totalByteSent, int64_t totalBytesExpectedToSend) { NSLog(@"%lld, %lld, %lld", bytesSent, totalByteSent, totalBytesExpectedToSend); }; // append.contentType = @""; // append.contentMd5 = @""; // append.contentEncoding = @""; // append.contentDisposition = @""; OSSTask * appendTask = [client appendObject:append]; [appendTask continueWithBlock:^id(OSSTask *task) { NSLog(@"objectKey: %@", append.objectKey); if (!task.error) { NSLog(@"append object success!"); OSSAppendObjectResult * result = task.result; NSString * etag = result.eTag; long nextPosition = result.xOssNextAppendPosition; } else { NSLog(@"append object failed, error: %@" , task.error); } return nil; }];
有关可选字段的详情,请参见AppendObject。