在 UIWebView 中呈现二进制 ms/doc 为空白
Rendering binary ms/doc in UIWebView is blank
我正在尝试下载一个二进制文件(来自 Salesforce)并将其显示在 UIWebView 中。但是,它显示为空白。这是我目前 运行 的代码:
class SRAFileViewController: UIViewController {
var webView: UIWebView!
var fileData: NSData!
var fileType: String!
convenience init(fileData: NSData!, fileType: String!, title: String!){
self.init()
self.fileType = fileType
self.fileData = fileData
self.title = title
}
override func viewDidLoad() {
self.navigationItem.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Done, target: self, action: "close")
self.view.backgroundColor = UIColor.whiteColor()
self.navigationItem.title = self.title
webView = UIWebView(frame: self.view.frame)
webView.delegate = self
let tempData = NSData(bytes: fileData.bytes, length: fileData.length)
webView.loadData(tempData, MIMEType: self.fileType, textEncodingName: "UTF-8", baseURL: NSURL(string: "http://localhost")!)
}
func close(){
self.dismissViewControllerAnimated(true, completion: nil)
}
}
然而,UIWebView
出现空白。
fileData
的值为<d0cf11e0 a1b11ae1...00000000 0000c700 00000000>
,fileType
的值为application/msword
有没有人知道如何正确渲染它?
如果 webview 无法正确呈现文件,您应该至少看到文件的二进制数据。
然而,
self.view.frame
可能未在 viewDidLoad
中正确设置。也尝试在 viewWillAppear 中设置 webView
框架。
- 我没看到你在哪里添加了
webView
到 view
。
我正在尝试下载一个二进制文件(来自 Salesforce)并将其显示在 UIWebView 中。但是,它显示为空白。这是我目前 运行 的代码:
class SRAFileViewController: UIViewController {
var webView: UIWebView!
var fileData: NSData!
var fileType: String!
convenience init(fileData: NSData!, fileType: String!, title: String!){
self.init()
self.fileType = fileType
self.fileData = fileData
self.title = title
}
override func viewDidLoad() {
self.navigationItem.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Done, target: self, action: "close")
self.view.backgroundColor = UIColor.whiteColor()
self.navigationItem.title = self.title
webView = UIWebView(frame: self.view.frame)
webView.delegate = self
let tempData = NSData(bytes: fileData.bytes, length: fileData.length)
webView.loadData(tempData, MIMEType: self.fileType, textEncodingName: "UTF-8", baseURL: NSURL(string: "http://localhost")!)
}
func close(){
self.dismissViewControllerAnimated(true, completion: nil)
}
}
然而,UIWebView
出现空白。
fileData
的值为<d0cf11e0 a1b11ae1...00000000 0000c700 00000000>
,fileType
的值为application/msword
有没有人知道如何正确渲染它?
如果 webview 无法正确呈现文件,您应该至少看到文件的二进制数据。
然而,
self.view.frame
可能未在viewDidLoad
中正确设置。也尝试在 viewWillAppear 中设置webView
框架。- 我没看到你在哪里添加了
webView
到view
。