我需要使用jquery mobile和Phonegap开发移动应用程序
从相机捕获图像,然后将其上传到REST Web服务,
使用WCF(.NET)或JAX-RS(Jersey),可以这样做吗?
如果是,是否有任何示例/教程来做到这一点?

最佳答案

通过使用phonegap,可以从相机捕获图像,请查看camera api

要在服务器上上传图片,请执行以下代码:

<!DOCTYPE HTML>
<html>
<head>
<title>Cordova</title>
<link rel="stylesheet" href="style.css" media="screen" />
<script type="text/javascript" charset="utf-8" src="cordova-2.2.0.js"></script>
<script type="text/javascript" charset="utf-8" src="jquery-1.7.2.min.js"></script>
<script type="text/javascript" charset="utf-8">
     var pictureSource; // picture source
     var destinationType; // sets the format of returned value
     document.addEventListener("deviceready", onDeviceReady, false);
     function onDeviceReady() {
         pictureSource = navigator.camera.PictureSourceType;
         destinationType = navigator.camera.DestinationType;
     }
</script>
</head>
<body>
<script type="text/javascript" charset="utf-8">

         var myData = "";
         $(document).ready(function() {
             $("#getDataFromServer").click(function() {
                 var imageData = myData;
                 $.ajax({
                     type : "POST",

                     url : 'http://my.domain.name/saveImage.ashx',

                     data : {
                         image : imageData
                     },

                     beforeSend : function() {

                         $("#comment2").text("Start ajax " + imageData.length);
                     },

                     success : function(data) {

                         $("#comment2").text("Uploaded! " + data);
                     },

                     error : function(request, error) {

                         $("#comment2").text("Error! " + error);
                     }
                 });
             });
         })

         function capturePhotoEdit(source) {

             navigator.camera.getPicture(onPhotoDataSuccess, onFail, {

                 quality : 50,

                 destinationType : destinationType.DATA_URL,

                 sourceType : source
             });
         }

         function onFail(message) {
             alert('Failed because: ' + message);
         }

         function onPhotoDataSuccess(imageData) {

             console.log(imageData);

             var smallImage = document.getElementById('smallImage');

             smallImage.style.display = 'block';

             smallImage.src = "data:image/jpeg;base64," + imageData;

             myData = imageData;

             $("#comment").text(imageData.length);
         }
     </script>
     <h1>Hello World</h1>
     <p>
         <a href="#" onclick="capturePhotoEdit(pictureSource.PHOTOLIBRARY);">get
             image</a>
     </p>
     <p>
         <a href="#" id="getDataFromServer">send image</a>
     </p>
     <span id="comment2"></span>
     <img style="display: none; width: 100px; height: 100px;"
         id="smallImage" src="" />
     <span id="imagename"></span>
     <span id="comment"></span>
</body>
</html>

关于jquery - Phonegap捕获图像,然后将其上传到REST Web服务,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13504887/

10-13 04:33