gpt4 book ai didi

NSdata writeToURL 不起作用

转载 作者:行者123 更新时间:2023-12-02 01:20:38 24 4
gpt4 key购买 nike

我正在尝试将 NsData 文件保存到目录中。这是我的方法的代码:

- (void)cacheImage:(NSData *)imageData withTitle:(NSString *)title
{

NSURL *cacheURL = (NSURL *)[[self.fileMenager URLsForDirectory:NSCachesDirectory inDomains:NSUserDomainMask] objectAtIndex:0]; //we take the URL of the cache Directory and comvert the url of the cache directory into a string
NSURL *imageFolder = [cacheURL URLByAppendingPathComponent:PHOTO_CACHE_FOLDER];

if ([self.fileMenager isWritableFileAtPath:[cacheURL path]]) { //check if the cache directory is writable
if (![self.fileMenager createDirectoryAtURL:cacheURL withIntermediateDirectories:NO attributes:nil error:nil]) { //check if the directory of our image is already exist
NSURL * fileToWrite = [[imageFolder URLByAppendingPathComponent:title isDirectory:NO] URLByAppendingPathExtension:@"jpg"]; //take the complete url of image
if ([imageData writeToURL:fileToWrite atomically:YES]) //atomically = safe write
{
NSArray *debug = [self.fileMenager contentsOfDirectoryAtPath:[imageFolder path] error:nil];
for (NSURL *url in debug)
NSLog(@"url prooooo : %@",url);
}
}
}
}

这是我尝试写入的 url (fileToWrite) 的示例:

file://localhost/Users/MarcoMignano/Library/Application%20Support/iPhone%20Simulator/6.1/Applications/93B0A0AC-EC13-4050-88CA-F46FBA11001E/Library/Caches/image_cache/Mozart%201.jpg

重点很简单,writeToURL 方法返回 NO,我不明白为什么,url 看起来是正确的。

有人可以帮助我'谢谢。

最佳答案

主要问题是您创建了错误的目录。您需要创建 imageFolder 目录。

if ([self.fileManager createDirectoryAtURL:imageFolder withIntermediateDirectories:YES attributes:nil error:nil]) {

请注意,您不需要在 if 语句中使用 !

关于NSdata writeToURL 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18301119/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com