java - 是否可以使用 Okhttp 从文件系统访问本地文件

标签 java android okhttp

我有 cordova webview,我正在从文件系统加载 html,我想使用 OkHttpClient 拦截请求,有什么方法可以使用 OkHttpClient 从文件系统请求文件。

我尝试使用 okhttp 进行正常调用,但出现错误

Expected URL scheme 'http' or 'https' but was 'file'
    WebResourceResponse getRequestResponse(String url) {
    try {
        OkHttpClient okHttpClient = new OkHttpClient();
        final Call call = okHttpClient.newCall(new 
        Request.Builder().url(url).build());

        final Response response = call.execute();

        return new 
         WebResourceResponse("","",response.body().byteStream());
    } catch (Exception e) {
        e.printStackTrace();
    }
    return null;
    }

最佳答案

使用像“filesystem.local”这样的神奇主机名,并通过从文件系统加载来获取拦截器来处理对此主机的请求。

val url = "http://filesystem.local/path/to/file.png".toHttpUrl()

关于java - 是否可以使用 Okhttp 从文件系统访问本地文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57472897/

相关文章:

java - JNI 多次加载库

android - v0.79+ 中对 ARM64 的 Realm 支持导致在 Galaxy S6 上找不到其他 native 库

android - 单击抽屉导航中的菜单项后如何打开子菜单?

Android OKHttp 添加参数

javascript - MongoDB 中 .eval 的智能替代方案

java - 使 rJava 或 R 使用不同的(以前的)Java 版本

java - GCMParameterSpec 抛出 InvalidAlgorithmParameterException : unknown parameter type

Android 禁用通知声音

android - 阻止 Android 请求使用蜂窝数据

android - 进行网络调用和解析 JSON 响应的架构