在 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 无法正确呈现文件,您应该至少看到文件的二进制数据。

然而,

  1. self.view.frame 可能未在 viewDidLoad 中正确设置。也尝试在 viewWillAppear 中设置 webView 框架。
  2. 我没看到你在哪里添加了 webViewview