将 sdcard 文件加载到 assets 文件夹的 html 文件
Load sdcard file to html file of assets folder
我正在尝试使用路径中的 javascript.If 将 sdcard 的图像文件加载到资产文件夹的 html 文件,我将图像 src 作为 weblink 然后它加载 link 但如果我将图像 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 加载它
使用此格式从 SD 卡加载图像文件:
String base = Environment.getExternalStorageDirectory().getAbsolutePath().toString();
String imagePath = "file://"+ base + "/image_file_in_root_folder.jpg";
我正在尝试使用路径中的 javascript.If 将 sdcard 的图像文件加载到资产文件夹的 html 文件,我将图像 src 作为 weblink 然后它加载 link 但如果我将图像 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 加载它
使用此格式从 SD 卡加载图像文件:
String base = Environment.getExternalStorageDirectory().getAbsolutePath().toString();
String imagePath = "file://"+ base + "/image_file_in_root_folder.jpg";