最近有個需求,需要利用WebView來播放本地端的檔案,看似簡單的需求,但卻會被Chromium給擋掉,原因是因為Chromium不允許直接讀取本地檔案。為了解決這件事情,讓WebView可以順利讀取到本地檔案,那就直接在App裏開啟一個HttpServer讓WebView透過HttpServer來讀取檔案。 找了很多套件,試了很多方式,最後才跟Ktor相見恨晚啊!Ktor是什麼呢?這是一個專門為Kotlin打造的網路相關套件,你可以透過Ktor來建立Server端或是Client端的程式。而且真的算是蠻簡單的,官方也提供了範例程式,基本上只需要小改一下就可以直些使用了。 引入套件// Ktor的核心包 implementation "io.ktor:ktor-server-core:2.0.1" // 供Ktor使用的引擎包,另外有Jetty, Tomcat, CIO可用 implementation "io.ktor:ktor-server-netty:2.0.1" // 用於印出Request及Response的log用 implementation "io.ktor:ktor-server-call-logging:2.0.1" // 用於支援PartialContent用 implementation "io.ktor:ktor-server-partial-content: