ios – 如何将图像从资产库移动到特定于应用程序的私有位置?

ios – 如何将图像从资产库移动到特定于应用程序的私有位置?,第1张

概述这是我试过的代码片段: [library writeImageToSavedPhotosAlbum:self.checkInImage.CGImage metadata:self.metadata completionBlock :^(NSURL * assetURL, NSError * error) { NSLog (@"A 这是我试过的代码片段:

[library    writeImagetoSavedPhotosAlbum:self.checkInImage.CGImage Metadata:self.Metadata            completionBlock             :^(NSURL * assetURL,NSError * error) {        NSLog (@"Asset url = %@",assetURL);         NSError *err;        Nsstring *docDir = [NSSearchPathForDirectorIEsInDomains (NSdocumentDirectory,NSUserDomainMask,YES) objectAtIndex:0];        Nsstring *jpgfilePath = [Nsstring stringWithFormat:@"%@/test.jpg",docDir];        NSfileManager *fileManager = [NSfileManager defaultManager];                [fileManager moveItemAtURL:assetURL toURL:[NSURL URLWithString:jpgfilePath] error:&err];                NSLog(@"error is %@",err);    }];

我得到的错误是
错误域= NSCocoaErrorDomain代码= 262“ *** 作无法完成.(Cocoa错误262.)”UserInfo = 0xb49a680 {NSURL = assets-library://asset/asset.JPG?ID = 6FAC823A-33CB-489B-A125 -714FBA5F0EE8&安培; EXT = JPG}

有任何想法吗?

解决方法 Docs (and Google).此错误代码对应于NSfileReadUnsupportedSchemeError常量 – i.即你不能只使用assets-library:// URL来使用NSfileManager移动文件. (关于ipod-library:// URL的情况也是如此.)您必须使用AssetsLibrary框架来获取文件的数据,然后使用 – [NSData writetofile:atomically:]将其写入文件.

ALAssetsLibrary *lib = [ALAssetsLibrary new];[lib assetForUrl:theURL // the asset URL you have obtained,NSURL object    resultBlock:^(ALAsset *asset) {        // get data        ALAssetRepresentation *repr = [asset defaultRepresentation];        CGImageRef cgimg = [repr fullResolutionImage];        Nsstring *fname = [repr filename];        UIImage *img = [UIImage imageWithCGImage:cgimg];        NSData *data = UIImagePNGRepresentation(img);        [data writetofile:[@"BaseDirectory/" stringByAppendingPathComponent:fname]            atomically:YES];        [lib release];    }    failureBlock:^(NSError *error) {        // recover from error,then        [lib release];    }];
总结

以上是内存溢出为你收集整理的ios – 如何将图像从资产库移动到特定于应用程序的私有位置?全部内容,希望文章能够帮你解决ios – 如何将图像从资产库移动到特定于应用程序的私有位置?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1071300.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存