带有phonegap的图像上传和Windows 8在android上的工作方式不同

时间:2013-12-17 09:49:46

标签: windows-8 cordova upload blob file-transfer

我正在尝试使用filetransfer上传使用phonegap捕获的照片;我使用android进行管理,但它无法在Windows 8上运行,实际上我看到的问题是由于图像的网址;在android下是file:// url但是在Windows 8上它是一种blob:1234566778rerui2,帮帮我PLZ,这里是代码

<!DOCTYPE html>
<html>
<head>
<title>Exemple de transfert de fichier</title>

<script type="text/javascript" charset="utf-8" src="phonegap-1.3.0.js"></script>
<script type="text/javascript" charset="utf-8">

    // Attendre que PhoneGap soit prêt
    //
    document.addEventListener("deviceready", onDeviceReady, false);

    // PhoneGap est prêt
    //
    function onDeviceReady() {

        // Récupérer l'URI d'un fichier image à partir de la source spécifiée
        navigator.camera.getPicture(uploadPhoto,
                                    function(message) { alert('Echec de récupération du fichier'); },
                                    { quality: 50, 
                                    destinationType: navigator.camera.DestinationType.FILE_URI,
                                    sourceType: navigator.camera.PictureSourceType.PHOTOLIBRARY }
                                    );

    }

    function uploadPhoto(imageURI) {
        var options = new FileUploadOptions();
        options.fileKey="file";
        options.fileName=imageURI.substr(imageURI.lastIndexOf('/')+1);
        options.mimeType="image/jpeg";

        var params = new Object();
        params.value1 = "test";
        params.value2 = "param";

        options.params = params;

        var ft = new FileTransfer();
        ft.upload(imageURI, "http://un.serveur.com/upload.php", win, fail, options);
    }

    function win(r) {
        console.log("Code = " + r.responseCode);
        console.log("Réponse = " + r.response);
        console.log("Envoyé = " + r.bytesSent);
    }

    function fail(error) {
        alert("Une erreur est survenue : Code = " = error.code);
    }

    </script>
    </head>
   <body>
   <h1>Exemple</h1>
    <p>Transfert de fichier</p>
 </body>
  </html>

1 个答案:

答案 0 :(得分:0)

我们必须更改windows 8的cordova.js,因为那里有一个错误,你可以查看这个链接:https://groups.google.com/forum/#!topic/phonegap/h2k-GeBJ0kY