iOS在webview中加载Base 64编码数据

标签 ios uiwebview base64 nsdata

我正在尝试在 webview 中加载 base64 编码的数据。以下是我正在使用的代码

NSDictionary *fileFormatDic=[[NSDictionary alloc]initWithObjectsAndKeys:@"text/html",@"html",@"mage/jpeg",@"jpe",@"image/jpeg",@"jpeg",@"image/jpeg",@"jpg",@"application/pdf",@"pdf",@"application/vnd.ms-powerpoint",@"pdf",@"text/plain",@"txt",@"application/vnd.ms-excel",@"xls",@"application/msword",@"doc",nil];
NSData *fileData= [dbServiceMgr getDocumentDataForTheTaskId:[_fileDetailsDic objectForKey:@"taskId"] andFileId:[_fileDetailsDic objectForKey:@"fileId"]];
NSLog(@"filedata length---%d",fileData.length);

NSString *mimeType=[fileFormatDic objectForKey:[_fileDetailsDic objectForKey:@"fileFormat"]];

[_webView loadData:fileData MIMEType:mimeType textEncodingName:@"Base64" baseURL:nil];

但是我的网页 View 中没有显示任何内容。有人可以告诉我,出了什么问题吗?提前致谢

最佳答案

我不确定这就是您出现白屏的原因(可能是),但您必须了解 textEncodingName 需要文本编码(意味着对 Unicode 字符串进行编码的方法)到字节序列)并且您正在提供二进制数据到文本的编码。所以可以说这是一种不同类型的编码。有效值为 UTF8 或 UTF16(尽管 UTF8 是您通常想要的)。因此,您应该首先解码 Base64 数据,然后将其呈现到屏幕上。

您可以阅读有关 Unicode 编码的更多信息 here .

关于iOS在webview中加载Base 64编码数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15988582/

相关文章:

ios - Swift - 方法调配

android - iOS 相当于 View.GONE

ios - 何时在自定义 UIVIew 中添加 CAAnimation?

ios - NSInternalInconsistencyException 访问_cachedSystemAnimationFence 需要主线程

iphone - 在 UIWebView 中禁用 PDF 文件中的超链接

java - Java Base64 编码的 Ruby Base64 编码

encryption - 最后所有加密都使用==

java - 将 BitSet 或 boolean 数组从 Java 序列化到 Base64 再到 Python

iphone - 如何在父 ScrollView 中调整 webview?

ios - 获取当前 UIWebVIew 元素