如何在 UIWebView 中打开 .csv 链接

Posted

技术标签:

【中文标题】如何在 UIWebView 中打开 .csv 链接【英文标题】:How to open .csv link in UIWebView 【发布时间】:2018-05-21 11:45:27 【问题描述】:

我想在 UIWebView 中打开 .csv 链接。我正在从网络上获取一些 .csv 链接,如何在 UIWebView 中打开该链接。我正在使用下面的代码

  NSString *urlString = @"https://xoxoengage-images-test.s3.amazonaws.com/image/clients/gxoxo/annoucement/XXXXdetails201805021526899124.csv";
NSURL *url = [NSURL URLWithString:[urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];//[NSURL URLWithString:urlString];
NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url];
[_webviewobj loadRequest:urlRequest];

但结果如下图所示,帮我解决这个问题。

【问题讨论】:

【参考方案1】:

UIWebView 本身不支持 CSV 格式。 看到这个:File Formats Supported by UIWebView

如果您的服务器返回“text/plain”(或者您将此文件设为“.txt”),您将在 Web 视图中看到其原始文本。

如果您想要一个网格表视图,那么您需要将 csv 转换为一种受支持的格式。显而易见的选择是 html

如果您可以在服务器端进行转换 - 那就更好了,否则下载 csv 文件,逐行解析,然后输出为 HTML。将 HTML 加载到 Web 视图中。 loadHTMLString 是你可以使用的。

对于 UIWebView,这也可以使用自定义 NSURLProtocol 透明地完成。

这可能会有所帮助:Where can I find a CSV to NSArray parser for Objective-C?

【讨论】:

感谢您的快速响应,我们可以将链接转换为一些 pdf 或其他格式并在 webview 中打开。 是的,你可以。但是您必须编写代码才能在 ios 端执行此操作。 Apple API 不会为您将其从 CSV 转换。如果您必须编写代码,最简单的方法是将 CSV 转换为 HTML。 能否给我转换csv到html的代码 这里是开始:***.com/questions/3344628/… 但是 gmail 正在打开 .cvs 链接,他们是如何做到的

以上是关于如何在 UIWebView 中打开 .csv 链接的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Swift 3 中的 UIWebview 中的链接打开另一个视图?

如何从 UIWebView 打开 safari.app 中的外部链接?

如何使用 Safari 应用程序在 UIWebView 中启动链接?

UIWebView在Safari中打开链接

UIWebView 打开外部链接

为啥 UIWebView 不能在 Safari 中打开我的链接?