【问题标题】:IOS: How to load local files in UIWebview eg: .png, .doc, .pdf, etc [duplicate]IOS:如何在 UIWebview 中加载本地文件,例如:.png、.doc、.pdf 等 [重复]
【发布时间】:2013-12-18 06:36:38
【问题描述】:

我需要将本地文件(如 png、pdf、doc)显示到 uiwebview 中。任何人都可以帮助如何将本地 url 加载到 webview 并在 webview 中显示文件..

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSFileManager *manager = [NSFileManager defaultManager];
NSString *tempUrlString = [NSString stringWithFormat:@"%@/0_iphone.png",documentsDirectory];

【问题讨论】:

  • 这很简单...你能告诉我们你到目前为止所做的尝试吗?

标签: ios iphone ios6 uiwebview uiimageview


【解决方案1】:

从你的包中加载文件:

  NSString * html = [[NSString alloc] initWithFormat:@"<img src=\"file://%@\"/>", filename];

 [self.webView loadHTMLString:newhtml  baseURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] resourcePath]]];

从您的文档目录加载:

NSArray *paths = NSSearchPathForDirectoriesInDomains( NSDocumentDirectory, NSUserDomainMask ,YES );
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"index.pdf"];
[webView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:path]]]

【讨论】:

    【解决方案2】:

    您可以使用&lt;img&gt; 标签将图像加载到UIWebView

    NSString *imagePath  = [[NSBundle mainBundle] pathForResource:@"yourImage" ofType:@"png"];
    NSString *htmlString = [NSString stringWithFormat:@"<html><body><img src=\"file://%@\"></body></html>",imagePath];
    [myWebView loadHTMLString:htmlString baseURL:nil];
    

    编辑:

    从文档目录加载图片,只需要在上面的代码中修改图片路径即可。

    NSArray *docPaths            = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);
    NSString *documentsDirectory = [docPaths objectAtIndex:0];
    NSString  *imagePath         = [documentsDirectory stringByAppendingPathComponent:@"/yourImage.png"];
    

    【讨论】:

    • 正在从应用目录获取文件。它不会为我加载图像。
    • @SVM-RAJESH:请检查更新后的答案
    • 如果有人想将图像从本地目录加载到uiwebview上的img标签,这是正确的答案
    【解决方案3】:

    检查一下……

    UIImage *cameraImage = [UIImage imageNamed:@"YourImageName"];
    
    NSData *myData = UIImagePNGRepresentation(cameraImage);
    
    [self.webview loadData:myData MIMEType:@"image/png" textEncodingName:nil baseURL:nil];
    

    【讨论】:

      【解决方案4】:

      您可以简单地加载UIWebView 中的任何文件,并将其作为NSURL 传递

      NSURL *url = [NSURL URLWithString:@"your_FIle_name_with_path"]; // Use NSDocumentsDirectory to get local files.
      NSURLRequest *requestURL = [NSURLRequest requestWithURL:url];
      [self.webView loadRequest:requestURL];
      

      【讨论】:

        猜你喜欢
        • 2013-10-18
        • 1970-01-01
        • 2013-09-14
        • 1970-01-01
        • 2015-06-23
        • 2013-01-18
        • 1970-01-01
        • 2013-09-10
        • 1970-01-01
        相关资源
        最近更新 更多