我正在使用这个精彩的tutorial为IOS创建一个类似Instagram的应用程序带有phonegap
效果很好但是当我尝试下载,存储并将照片传递给插件时出现错误
我的错误是:
Dec 19 14:36:58 iPhone-of-your-home Imagefilter [17418] <Error>: ImageIO: CGImageSourceCreateWithURL CFURLCreateDataAndPropertiesFromResource failed with error code -15.
我的插件代码是:
-(void)none:(NSMutableArray *)arguments withDict:(NSMutableDictionary *)options
{
//I think that here is the problem
NSString *filePath = [options objectForKey:@"image"];
// CREATE NSURL
NSURL *fileNameAndPath = [NSURL URLWithString:filePath];
NSLog(@"FILE PATH: %@",fileNameAndPath);
// DEFINE OUR CIImage
CIImage *beginImage =
[CIImage imageWithContentsOfURL:fileNameAndPath];
CIContext *context = [CIContext contextWithOptions:nil];
// DO ALL MODIFICATIONS HERE.
CGImageRef cgimg =
[context createCGImage:beginImage fromRect:[beginImage extent]];
...
...
}
正如我在控制台上看到的,当我捕获图像并传递它时,它有一个像:
这样的URLfile://localhost/var/mobile/Applications/EFDAF913-6287-4B46-B2FE-F9B0D3349DDF/tmp/cdv_photo_031.jpg
虽然我下载的文件有一个像
这样的网址/var/mobile/Applications/EFDAF913-6287-4B46-B2FE-F9B0D3349DDF/Documents/img18.png
答案 0 :(得分:0)
您的img18.png文件位于Documents目录中。
首先,您必须使用以下命令获取指针:
NSString *docsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
然后构建路径:
NSString *path = [docsDirectory stringByAppendingPathComponent:@"img18.png"];
否则,您已经在代码中知道问题所在。