我在服务器网址中有mp3文件。然后我想下载文件存储以供以后访问。我使用AFNetworking从url下载文件。我一直在使用AFHTTPRequestOperation来访问url,但是我在NSLog中获取了url路径,但是我没有下载文件。下载选项未执行。
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0]; // Get documents folder
NSString *dataPath = [documentsDirectory stringByAppendingPathComponent:@"images"];
if (![[NSFileManager defaultManager] fileExistsAtPath:dataPath])
[[NSFileManager defaultManager] createDirectoryAtPath:dataPath withIntermediateDirectories:NO attributes:nil error:&error];
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.detailsofmylife.net/wp-content/uploads/2010/02/Ellie-Goulding-Starry-Eyed-Live-Lounge-@-Radio-1.mp3"]];
NSLog(@"The video url is %@", request);
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
operation.outputStream = [NSOutputStream outputStreamToFileAtPath:dataPath append:NO];
[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"Successfully downloaded file to %@", [NSURL fileURLWithPath:dataPath]);
NSLog(@"THE RESPONSE: %@", responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error1) {
NSLog(@"Error: %@", error1);
}];
[operation start];
答案 0 :(得分:0)
您可以尝试下载这样的mp3文件:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0]; // Get documents folder
NSString *dataPath = [documentsDirectory stringByAppendingPathComponent:@"images"];
if (![[NSFileManager defaultManager] fileExistsAtPath:dataPath])
[[NSFileManager defaultManager] createDirectoryAtPath:dataPath withIntermediateDirectories:NO attributes:nil error:&error];
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
[manager.requestSerializer setValue:@"application/x-www-form-urlencoded"
forHTTPHeaderField:@"Content-Type"];
[manager setResponseSerializer:[AFJSONResponseSerializer serializer]];
manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"audio/mpeg", nil];
[manager GET:@"http://www.detailsofmylife.net/wp-content/uploads/2010/02/Ellie-Goulding-Starry-Eyed-Live-Lounge-@-Radio-1.mp3"
parameters:nil
success:^(AFHTTPRequestOperation *operation, id responseObject) {
[operation.responseData writeToFile:[dataPath stringByAppendingPathComponent:@"file.mp3"] atomically:YES];
}
failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"%@", error);
}];
希望这有帮助!