响应 AJAX 调用 iOS UIWebView

发布时间: 2017/3/21 22:39:51
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我试图执行一个图片上传系统通过 web 视图。

我有它的工作通过 safari 浏览器,但还没有得到它的工作通过 web 视图。我的研究使我意识到我需要使用 UIImagePickerController 以便捕获的图像文件的路径,并将此方法︰

- (void)imagePickerController:(UIImagePickerController *)picker
didFinishPickingMediaWithInfo:(NSDictionary *)info   {

    NSString *path = [[NSBundle mainBundle] bundlePath];
    NSData *data = UIImageJPEGRepresentation( [info objectForKey:@"UIImagePickerControllerOriginalImage"] , 1.0);
    NSString *fullPath = [path stringByAppendingPathComponent:@"image_tmp.jpg"];
    if ([[NSFileManager defaultManager] createFileAtPath:fullPath contents:data attributes:nil] ) {
        NSLog([NSString stringWithFormat:@"file successfully written to path %@",fullPath],nil);
    }
}

然而,我有问题的工作我如何拦截和响应 UIImagePickerController 通过 ajax 调用。

解决方法 1:

一些更多的试验后我来到了解决我的问题。看起来我是这么说工程问题。

我只是返回图像路径和其他所需的 AJAX 调用会处理服务器端。我的研究指出,这一事实需返回图像路径 UIImagePickerController,然而,这实际上不是。

- (void)viewWillAppear:(BOOL)animated {

    if(animated){
        NSLog(@"YES");
    }else{
        NSLog(@"NO");
        NSString *url = [NSString stringWithFormat:@"http://www.mywebview.com/photo-upload.php"];
        [photoview loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:url]]];
        timer = [NSTimer scheduledTimerWithTimeInterval:(1.0/2.0) target:self selector:@selector(tick) userInfo:nil repeats:YES];
    }   
}

通过使用 viewWillAppear 并返回布尔值,表示动画,我才告诉那个电话是对于页面加载或 AJAX 调用。它是实际的页面重新加载,防止上传,文件路径一直传递......简单的监督人相当新的 iOS 开发,但这也许会帮到别人在类似的情况。

如果任何人可以详述这方面或整理我的代码/解释,请做 !

官方微信
官方QQ群
31647020