我正在尝试在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];
但我的网页浏览中没有显示任何内容。有人能告诉我,出了什么问题。提前致谢
答案 0 :(得分:1)
我不确定这是你获得白屏的原因(可能)但你必须明白textEncodingName
需要文本编码(意味着将Unicode字符串编码为字节序列的方法)并且您提供二进制数据到文本编码。所以它可以说是一种不同的编码。有效值为UTF8或UTF16(althoulgh UTF8是您通常想要的)。因此,您应首先解码Base64数据,然后将其显示在屏幕上。
您可以阅读有关Unicode编码here的更多信息。