Загрузить файл SDCard в HTML-файл папки активов - PullRequest
0 голосов
/ 25 июня 2019

Я пытаюсь загрузить файл изображения sdcard в html-файл папки ресурсов, используя javascript. Если в path я помещаю изображение src в качестве веб-ссылки, то он загружает ссылку, но если я указываю путь src изображения в качестве пути к файлу sdacrd, он не загружаетсячто-нибудь

path= Environment.getExternalStorageDirectory()+ File.separator+"aa.jpg";   
webview=(WebView)findViewById(R.id.webView);
webview.getSettings().setJavaScriptEnabled(true);
webview.loadUrl("file:///android_asset/info.html");
webview.setWebViewClient(new WebViewClient(){
            public void onPageFinished(WebView view, String url){
                webview.loadUrl("javascript:init('" + path + "')");
            }
        });

info.html

    <html>
    <body>
        <svg>
            <image  id="img" clip-path="url(#user)" x="210" y="150" height="150" width="150" xlink:href="https://anyfile.jpg" />
        </svg>
    </body>


    <script>
        var imgval=document.getElementById('img');
        function init($path) {
            imgval.setAttributeNS('http://www.w3.org/1999/xlink', 'xlink:href', $path);
        }
    </script>
</html>

Если я даю путь sdcard, он должен загружаться только с этого пути.Другой способ, который я нашел, это просто скопировать этот HTML-файл на SDCard, чтобы изображение загружалось, но я не хочу копировать его на SDCard. Я хотел загрузить его только с SDCard

1 Ответ

1 голос
/ 25 июня 2019

Используйте этот формат для загрузки файла изображения с SD-карты:

String base = Environment.getExternalStorageDirectory().getAbsolutePath().toString();
String imagePath = "file://"+ base + "/image_file_in_root_folder.jpg";
...