Ok, I have a small image upload application (using phonegap, jQuery). I am loading jquery download via AJAX. The image is being sent, but I'm not sure how to properly handle it on the sidelines. Any thoughts are very welcome! Here is my code:
PHP:
<?php ////////THE PROBLEM AREA I THNK////////// if ($_REQUEST['image']) { // convert the image data from base64 $imgData = base64_decode($_REQUEST['image']); // set the image paths $file = '/uploaded_files/' . md5(date('Ymdgisu')) . '.jpg'; $url = 'http://creativetree.co/creativetreeAlpha' . $file; // delete the image if it already exists if (file_exists($file)) { unlink($file); } // write the imgData to the file $fp = fopen($file, 'w'); fwrite($fp, $imgData); fclose($fp); } echo "<h1>Page is online</h1>"; echo "<p>Nothing special just a first go at phonegap! </p>"; echo "<h2>Contents of uploaded_files Folder to show iphone upload</h2>"; $dir = '/homepages/22/d397139588/htdocs/creativetreeAlpha/uploaded_files'; if ($handle = opendir($dir)) { while (false !== ($file = readdir($handle))) { if ($file != "." && $file != "..") { echo "$file\n"; echo "<br>"; } } closedir($handle); } ?>
Basic HTML:
<script> function onBodyLoad() { document.addEventListener("deviceready",onDeviceReady,false); } </script> </head> <body onload="onBodyLoad()"> <body> <h1>Upload an image</h1> <div id="upload" <input type="button" class="send-image" value="camera" /> <input type="button" class="send-image" value="library" /> <img style="width:60px; height:60px" id="image" src="" /> </div> <div id="output"></div> </body> </html>
JavaScript:
$(document).ready(function(){ $(document).bind('deviceready', function(){ function sendImage(src) { src = (src == 'library') ? Camera.PictureSourceType.PHOTOLIBRARY : Camera.PictureSourceType.CAMERA; navigator.camera.getPicture(success, fail, {quality: 45, sourceType: src}); function success(imageData) { var url = 'http://creativetree.co/creativetreeAlpha/mobileImageUpload.php'; var params = {image: imageData};
Chrisherwood
source share