【问题标题】:iOS QLPreviewController load file from remote server URLiOS QLPreviewController 从远程服务器 URL 加载文件
【发布时间】:2014-05-05 12:50:49
【问题描述】:

在 QLPreviewController 上从远程服务器加载文件时应该使用什么方法? 我们什么时候应该使用我的服务器 API 下载文件以将它们加载到 QLPreviewController。 我将 QLPreviewController 作为子视图添加到当前视图中。 我可以使用数据源方法调用从服务器下载文件。

- (id<QLPreviewItem>)previewController:(QLPreviewController *)controller previewItemAtIndex:(NSInteger)index

但是一旦文件被下载,我需要重新加载 QLPreviewController,这应该在哪里完成 对于图像,我想查看图库视图,以便滑动查看从服务器下载的图像。 谁能指出我从远程服务器 URL 加载图像的任何教程

【问题讨论】:

    标签: ios download nsurlconnection image-gallery qlpreviewcontroller


    【解决方案1】:

    要显示任何支持QLPreviewController 的文件,URL 应该 是文件URL。

    (id<QLPreviewItem>)previewController:(QLPreviewController *)controller previewItemAtIndex:(NSInteger)index
    

    它总是返回fileURL - 如果您使用任何其他 URL,它会崩溃。下载完成后将文件保存到documents目录,然后推送预览。

    - (void)saveFileInDocDirectoryWithFileName:(NSString *)title{
        NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
        NSString *docPath_ = [paths objectAtIndex:0];
        NSString *filePath = [ docPath_ stringByAppendingPathComponent:title];
    
        self.fileURL = [NSURL fileURLWithPath:filePath];
            [self pushToPreViewWithURL:fileURL];
    }
    
    
    - (void)pushToPreViewWithURL:(NSURL *)filePathURL{     
        QLPreviewController *previewController = [[QLPreviewController alloc] init];
        previewController.dataSource = self;
        previewController.delegate = self;
        // start previewing the document at the current section index
    
        [[NSOperationQueue mainQueue] addOperationWithBlock:^{
    
            [self.navigationController pushViewController:previewController animated:YES];
    
        }]; 
    }
    

    然后在委托方法中,返回fileURL:

     - (id)previewController:(QLPreviewController *)previewController previewItemAtIndex:(NSInteger)idx {
         return self.fileURL;
     }
    

    【讨论】:

    • 你好。我下载了 53M 视频然后保存+发送到 QLPreview,但是 QLpreview 只显示了我的视频的 1KB,不知道为什么
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-05-24
    • 1970-01-01
    • 1970-01-01
    • 2012-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多