我做了一个启动相机的PhoneGap应用程序,拍照并保存到SD卡。如何让该图片以 HTML 格式显示?

Posted

技术标签:

【中文标题】我做了一个启动相机的PhoneGap应用程序,拍照并保存到SD卡。如何让该图片以 HTML 格式显示?【英文标题】:I did a PhoneGap app that starts the camera, a picture is taken and saved to sdcard. How do I get that picture to show it in HTML? 【发布时间】:2013-10-17 22:33:39 【问题描述】:

我做了一个启动相机的 PhoneGap android 应用程序,拍摄了一张照片并保存到 sdcard。该应用程序在初始屏幕上显示图片。该应用程序还允许浏览一些额外的网页。如果我离开(到另一个网页)并返回到第一个屏幕,图片不再存在。我试图从 sdcard 中获取它并使用 html 标签显示它,甚至在拍摄另一张照片之前就可以看到它,但没有显示图片(我看到的是“alt”文本)。

我不确定我的问题是否清楚,但我已准备好回答您的问题以澄清问题。

我的项目在 GitHub 中,地址为https://github.com/monicamarcus/Android_PhoneGap

有人可以帮助我吗?谢谢!

第一次显示图片的javascript

//Called when a photo is successfully retrieved
//
function onPhotoDataSuccess(imageData) 
 var smallImage = document.getElementById('cameraPic');
smallImage.style.display = 'block'
smallImage.src = "data:image/jpeg;base64," + imageData;

【问题讨论】:

第一次显示图片是怎样的? 使用 HTML 在 并使用 JavaScript 函数。我将把函数的代码添加到我的问题中。 【参考方案1】:

试试这个:

   function onPhotoDataSuccess(imageData)  
    localStorage.img="data:image/jpeg;base64,"+imageData;
    var smallImage = document.getElementById('cameraPic');
   smallImage.src= localStorage.img;
   smallImage.style.display = 'block'; 
   



document.addEventListener('deviceready',function()
if(typeof(localStorage.img)!='undefined')
smallImage=document.getElementById('cameraPic');
smallImage.src=localStorage.img;
smallImage.style.display='block';

,false);

【讨论】:

谢谢 Vicky Gonsalves,但它不起作用。有了这个改变,我什至没有第一次看到图片(图片应该在哪里,我只看到一个很小的——非常小的——矩形。) 它仍然没有解决我的问题。现在我可以在初始屏幕上看到图片,但是如果我导航到应用程序的另一个网页,当我回到原来的屏幕时没有图片 我应该补充一点,我可以在 /storage/sdcard0 中看到图片,但是当我尝试从 sdcard 中查看它时,它显示“无法加载照片”。 你能看一下 GitHub 吗?我在最初的问题中发布了链接。 您的 index.html 和 navigation.js 文件中存在错误,我也无法在项目中看到 phonegap.js 文件。使用更好的编辑器进行编码...:) 我运行上述解决方案你的代码,它按要求工作......

以上是关于我做了一个启动相机的PhoneGap应用程序,拍照并保存到SD卡。如何让该图片以 HTML 格式显示?的主要内容,如果未能解决你的问题,请参考以下文章

没有拍照和视频的相机权限?

Phonegap 无法在 iPad 视网膜 mini iOS7 中使用相机

调用phonegap相机功能后出现空白

如果Android经常杀死应用程序,为啥要使用phonegap相机

Phonegap|Android 4 - 从 PHOTOLIBRARY 拍照时,应用程序有时会崩溃

我的应用程序启动时如何在没有预览的情况下从相机拍照?