使用javascript或jquery在网络视图中显示本地android图像
Display local android image in a webview using javascript or jquery
场景:我试图使用javascricpt和/或jquery将从库中选择的文件图像显示到网络视图中,但我无法做到这一点。在桌面浏览器中打开html时也是如此。
到目前为止,我尝试过的是安卓代码中的这个:
- 编写了
openFileChooser
代码,并获得了图像路径和图像字节 -
在onActivityResult方法中调用以下内容:
String js = "javascript:loadImage(file://" + imagePath + ")"; mWebView.loadUrl(js);
html看起来像这样:
<div class="file_chooser">
<!-- <input type="submit" value="File chooser" id="btnSubmit" onclick="sayHello();" > -->
<input type="file" name="banner_image" id="banner_image" onChange="loadImage(this);" accept="image/*" />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<img alt="" id="image" src="" width="200px" height="200px" onclick="showSrc(this.src);">
</div>
javascript看起来像这样:
<script type="text/javascript">
function loadImage(input) {
if (input.files && input.files[0]) {
Android.alert('input: ' + input.files[0]);
var reader = new FileReader();
reader.onload = (function(input) {
return function(e) {
$('#image').attr('src', e.target.result);
console.log('onload stage finished');
};
})(input);
reader.onloadend = (function() {
// $('#image').src(file.name);
});
reader.readAsDataURL(input.files[0]);
//data:image/jpg;base64,xxxxxxxxxxxxxxxxxxxxxxxxxxxx -> this did not work
}
function showSrc(src) {
Android.alert('src : ' + src);
}
</script>
但我似乎在摆弄android代码和javascript,因为我对jscript不太了解。
请帮助了解如何在从图库中选择后显示图像。
编辑:
我已经浏览了lotsa链接,这些链接显示了如何从android调用javscript函数,以及如何通过使用src标记中有图像的新html代码调用loadBaseUrl来显示图像,就像这样,但这不是我真正想要的。
对于那些陷入这种情况的人:我将loadImage方法的功能更改为将接收到的文件转换为字节
步骤:1.从android中读取一个文件,并将路径发送到js函数2.将路径传递给读取器,当读取器加载文件时,会调用onLoadEnd
方法3.使用代码将文件转换为字节
var stringToReplace = reader.result;
stringToReplace = stringToReplace.replace('data:base64,','data:image'/jpeg;base64,');
- 将图像源设置为在#3中获得的字符串
相关文章:
- 使用电话间隙在Android应用程序中显示SQL Lite的数据
- 在android中显示固定高度的webview内的大型内容
- 带有iframe嵌入的Android WebView;t显示在4.2.2及以下
- 使用PhoneGap和jQuery Mobile在android设备上显示动态列表视图
- 如何通过ibmworklight中的sql适配器从db2中检索或显示html页面上的数据?android混合应用程序开发
- 如何在android中提取和显示字段
- D3图表未在Android混合应用程序中显示
- 键盘没有在Android和BlackBerry中显示元素焦点
- 在phonegap android中上传多个文件时,使用jquery ui显示进度条
- Webview没有´在android中无法正确显示
- 如何解码阿拉伯语的html内容以在android网页视图中显示
- 如何在android中显示实时雅虎金融股票数据..json格式如下所示
- 阻止 YouTube API 在 PhoneGap Android 上全屏显示
- 在 android 中单击按钮时在网络视图中显示的网页部分内移动
- 键盘显示时离子含量不向下滚动(Android)
- 显示 HTML 字段的 Android 软键盘,即使连接了输入设备
- Phonegap Android 在输入焦点 Javascript 上显示键盘
- 在 JavaScript 中单击按钮时显示 android DatePicker
- 使用 JavaScript 在 Android 中显示软键盘
- 当字段是 .focus() 时使用 javascript 时显示 Android 的软键盘