/var/folders/oG/oGrLHcAUEQubd3CBTs-1zU+++TI/-Tmp-/
而不是
/Users/MyMac/library/Application Support/iPhone Simulator/4.3.2/Applications/A685734E-36E9-45DD-BBE7-0A46F8F91DAF/tmp
这是我的代码:
-(Nsstring *)tempPath{ return NstemporaryDirectory();}-(voID) saveMyFoto{ Nsstring *urlNahledu = [Nsstring stringWithFormat:@"%@%@%@",@"http://www.czechmat.cz",urlFotky,@"_100x100.jpg"]; NSLog(@"%@",urlNahledu); UIImage *image = [[UIImage alloc] initWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:urlNahledu]]]; NSData *data = [NSData dataWithData:UIImageJPEGRepresentation(image,0.8f)]; NSArray *paths = NSSearchPathForDirectorIEsInDomains(NSdocumentDirectory,NSUserDomainMask,YES); NSLog(@"%@ %@",paths,[self tempPath]); Nsstring *documentsDirectory = [paths objectAtIndex:0]; Nsstring *localfilePath = [documentsDirectory stringByAppendingPathComponent:@"pkm.jpg"]; [data writetofile:localfilePath atomically:YES];}解决方法 这是首选方法,它使用URL来直接获取tmp目录的链接,然后返回该目录的文件URL(pkm.jpg):
Swift 4.0
let tmpuRL = URL(fileURLWithPath: NstemporaryDirectory(),isDirectory: true) .appendingPathComponent("pkm") .appendingPathExtension("jpg")print("filepath: \(tmpuRL)")// Then write to diskif let url = tmpuRL,let data = UIImageJPEGRepresentation(image,0.8) { // Use do-catch for error handling,disk can be full etc. try? data.write(to: url)}
Swift 3.1
let tmpuRL = try! URL(fileURLWithPath: NstemporaryDirectory(),isDirectory: true) .appendingPathComponent("pkm") .appendingPathExtension("jpg")print("filepath: \(tmpuRL)")
请注意,未处理可能的错误!
Swift 2.0
let tmpDirURL = NSURL.fileURLWithPath(NstemporaryDirectory(),isDirectory: true)let fileURL = tmpDirURL.URLByAppendingPathComponent("pkm").URLByAppendingPathExtension("jpg")print("filePath: \(fileURL.path)")
Objective-C的
NSURL *tmpDirURL = [NSURL fileURLWithPath:NstemporaryDirectory() isDirectory:YES];NSURL *fileURL = [[tmpDirURL URLByAppendingPathComponent:@"pkm"] URLByAppendingPathExtension:@"jpg"];NSLog(@"fileURL: %@",[fileURL path]);
请注意,某些方法仍然以字符串形式请求路径,然后使用[fileURL path]将路径作为字符串返回(如上面NSLog中所示)。
升级当前App时文件夹中的所有文件:
<Application_Home>/documents/<Application_Home>/library/
保证保留旧版本(不包括< Application_Home> / library / Caches子目录)。将documents文件夹用于您可能希望用户有权访问的文件,并使用library文件夹找到App使用且用户不应看到的文件。
另一个更长的方法可能是获取tmp目录的url,首先获取document目录并剥离最后一个路径组件,然后添加tmp文件夹:
NSURL *documentDir = [[[NSfileManager defaultManager] URLsForDirectory:NSdocumentDirectory inDomains:NSUserDomainMask] firstObject];NSURL *tmpDir = [[documentDir URLByDeletingLastPathComponent] URLByAppendingPathComponent:@"tmp" isDirectory:YES];NSLog(@"tmpDir: %@",[tmpDir path]);
然后我们可以在那里找到一个文件,即pkm.jpg,如下所示:
Nsstring *filename = @"pkm";NSURL *fileURL = [tmpDir URLByAppendingPathComponent:filename isDirectory:NO];fileURL = [fileURL URLByAppendingPathExtension:@"jpg"];
使用字符串可以实现相同的功能,这在旧的iOS系统中使用,但上面的第一个URL方法现在是推荐的方法(除非您写入旧系统:iPhone OS 2或3):
Nsstring *tmpDir = [NSSearchPathForDirectorIEsInDomains(NSdocumentDirectory,YES) firstObject];tmpDir = [[tmpDir stringByDeletingLastPathComponent] stringByAppendingPathComponent:@"tmp"];Nsstring *filePath = [[tmpDir stringByAppendingPathComponent:@"pkm"] stringByAppendingPathExtension:@"jpg"];总结
以上是内存溢出为你收集整理的iphone – 如何将图像保存到我的应用程序的tmp目录?全部内容,希望文章能够帮你解决iphone – 如何将图像保存到我的应用程序的tmp目录?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)