diff --git a/QiniuSDK/QiniuResumableClient.m b/QiniuSDK/QiniuResumableClient.m index 3a9ecc4..68f475d 100644 --- a/QiniuSDK/QiniuResumableClient.m +++ b/QiniuSDK/QiniuResumableClient.m @@ -182,8 +182,13 @@ - (void)mkfile:(NSString *)key { NSString *mimeStr = extra.mimeType == nil ? @"" : [[NSString alloc] initWithFormat:@"/mimetype/%@", [QiniuResumableClient encode:extra.mimeType]]; - NSString *keyStr = [[NSString alloc] initWithFormat:@"/key/%@", [QiniuResumableClient encode:key]]; - NSString *callUrl = [[NSString alloc] initWithFormat:@"%@/mkfile/%u%@%@", kQiniuUpHost, (unsigned int)fileSize, mimeStr, keyStr]; + + NSString *callUrl = [[NSString alloc] initWithFormat:@"%@/mkfile/%u%@", kQiniuUpHost, (unsigned int)fileSize, mimeStr]; + + if (key != nil) { + NSString *keyStr = [[NSString alloc] initWithFormat:@"/key/%@", [QiniuResumableClient encode:key]]; + callUrl = [NSString stringWithFormat:@"%@%@", callUrl, keyStr]; + } if (extra.params != nil) { NSEnumerator *e = [extra.params keyEnumerator]; diff --git a/QiniuSDKTests/QiniuSDKTests.m b/QiniuSDKTests/QiniuSDKTests.m index 1c6ef6c..c7d5da1 100644 --- a/QiniuSDKTests/QiniuSDKTests.m +++ b/QiniuSDKTests/QiniuSDKTests.m @@ -41,7 +41,7 @@ - (void)setUp // Prepare the uptoken // token with a year, 14.2.23 _token = @"6UOyH0xzsnOF-uKmsHgpi7AhGWdfvI8glyYV3uPg:m-8jeXMWC-4kstLEHEMCfZAZnWc=:eyJkZWFkbGluZSI6MTQyNDY4ODYxOCwic2NvcGUiOiJ0ZXN0MzY5In0="; - + _done = false; _progressReceived = false; } @@ -171,6 +171,17 @@ - (void)testResumableUploadSmall XCTAssertEqual(_succeed, YES, "ResumableUpload failed, error: %@", _error); } +- (void)testResumableUploadWithoutKey +{ + QiniuResumableUploader *uploader = [[QiniuResumableUploader alloc] initWithToken:_token]; + uploader.delegate = self; + + NSLog(@"resumable upload"); + [uploader uploadFile:_filePath key:nil extra:nil]; + [self waitFinish]; + XCTAssertEqual(_succeed, YES, "ResumableUpload failed, error: %@", _error); +} + // */ - (void)testResumableUploadWithParam