H5在WKWebView中读取沙盒文件

方法一:

一种通过 Base64 的编码来解决 H5Image 标签显示图片的问题,当然了这里我就不介绍了

方法二:

Podfile 写入(关于 GCDWebServer,一个轻量级的 AppServer 框架。)

pod "GCDWebServer", "~> 3.0"

import GCDWebServer
/// 启动Server 参数自己定,但是directoryPath和forBasePath要定义好,我们写的是沙盒路径。
func initWebServer() {
    let webServer = GCDWebServer()
    webServer.addGETHandler(forBasePath: "/", directoryPath: NSHomeDirectory(), indexFilename: nil, cacheAge: 3600, allowRangeRequests: true)
    webServer.start(withPort: 9999, bonjourName: "GCD Web Server")
    print("Visit \(webServer.serverURL) in your web browser")
}

如果资源访问的是沙盒中的资源,如:

模拟器目录


真机路径


使用的是沙盒中绝对路径,经测试此方式在模拟器上资源可以正常访问,真机无法访问资源

因webkit框架访问沙盒资源存在bug,无法加载通过绝对路径访问到资源.

// 比方说文件存在Library下有一个123的文件
NSString *basePath = @"http://localhost:9999/Library/water"; // 这样就可以访问到这个文件了,我只需要把我的文件名拼上localhost路径然后传给前端,他们拿到这个链接直接访问就可以拿到这个文件了

你可能感兴趣的:(H5在WKWebView中读取沙盒文件)