【问题标题】:iOS loading Base 64 encoded data in webviewiOS在webview中加载Base 64编码数据
【发布时间】:2013-04-13 13:57:07
【问题描述】:

我正在尝试在 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];

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

【问题讨论】:

    标签: ios uiwebview base64 nsdata


    【解决方案1】:

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

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

    【讨论】:

    • 您好 Valentin,感谢您的回答。我通过解码fileData解决了这个问题。
    猜你喜欢
    • 2012-12-15
    • 2010-10-06
    • 1970-01-01
    • 2011-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-30
    相关资源
    最近更新 更多