将图像存储在具有相同名称和扩展名的文档目录路径中

时间:2013-03-07 11:42:12

标签: objective-c cocoa-touch

我有一个网址从服务器下载图像 我将其作为NSData并将其存储到我的本地路径。

thedata = [NSData dataWithContentsOfURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@%@",[CNPlayerURL getUniqueIdAvailable],imageUrl]]];

[thedata writeToFile:localFilePath atomically:YES];

现在我的问题是我可以下载名称和我在路径中存储的图像的扩展名。因为现在我的localFilePath文件目录路径附加了imagename(我给它一个带.jpg扩展名的唯一ID)

就像我在浏览器中使用我的网址一样

http:/myserverurl/groupid/199/blob

正在下载此图片:

enter image description here

现在我想用此名称和扩展程序保存

2 个答案:

答案 0 :(得分:1)

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentationDirectory,NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *jpgFilePath = [NSString stringWithFormat:@"/%@/%@", YourDirectoryName,[imageUrl lastPathComponent]];
NSString *getImagePath = [documentsDirectory stringByAppendingPathComponent:jpgFilePath];
NSFileManager *fileManager = [NSFileManager defaultManager];

    if (![fileManager fileExistsAtPath:getImagePath]) {
        NSData *data1 = [NSData dataWithData:UIImagePNGRepresentation(image)];
        [data1 writeToFile:getImagePath atomically:YES];
    }

答案 1 :(得分:1)

您可以使用suggestedFilename这样的NSURLResponse方法获取“可下载的文件名”。

-(void) connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
{
    NSLog(@"Downloadable FileName: %@",[response suggestedFilename]);
    NSLog(@"Downloadable MIMEType: %@",[response MIMEType]);
    NSLog(@"Downloadable ContentLength: %lld",[response expectedContentLength]);
    [webData setLength:0];
}