PhoneGap File Transfer Image Отправить форму - PullRequest
1 голос
/ 20 марта 2012

Я в тупике о том, как заставить Filetransfer APi работать как часть формы отправки. В настоящее время вы выбираете изображение и оно автоматически отправляется на сервер, однако для приложения мне нужны другие данные, отправляемые с ним. У меня есть другие части, работающие правильно, мне нужно, это просто текст / опция, но я поставлен в тупик с изображением.

АТМ, я просто смотрю на пример кода зак виноградников

 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4    /strict.dtd">
<html>
<head>
<title>File Transfer Example</title>
<script type="text/javascript" charset="utf-8" src="phonegap-1.2.0.js"></script>
<script type="text/javascript" charset="utf-8">

    // Wait for PhoneGap to load
    document.addEventListener("deviceready", onDeviceReady, false);

    // PhoneGap is ready
    function onDeviceReady() {
// Do cool things here...
    }

    function getImage() {
        // Retrieve image file location from specified source
        navigator.camera.getPicture(uploadPhoto, function(message) {
alert('get picture failed');
},{
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;
        options.chunkedMode = false;

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

    function win(r) {
        console.log("Code = " + r.responseCode);
        console.log("Response = " + r.response);
        console.log("Sent = " + r.bytesSent);
        alert(r.response);
    }

    function fail(error) {
        alert("An error has occurred: Code = " = error.code);
    }

    </script>
</head>
<body>
<button onclick="getImage();">Upload a Photo</button>
</body>
</html>

Если бы у кого-то были какие-то идеи, это было бы очень ценно. Я пробовал много разных вещей. У меня это работало на настольной платформе, но когда я использую свой телефон, который является Android, если это как-то связано с ним. Это не работает. Спасибо

Ответы [ 2 ]

0 голосов
/ 20 мая 2012

Вы можете отправить другие данные, например, objetId и изображение, например:

       options.fileName=imageURI.substr(imageURI.lastIndexOf('/')+1)+".jpg";       
       var upload_url="http:YourDomain.com 
       /upload?token="+objectId+"&filenaam="+options.fileName;
        ft.upload(imageURI, upload_url, win, fail, options);
0 голосов
/ 21 марта 2012

Вы добавляете пары ключ / значение, которые хотите отправить, в качестве членов объекта «params».Скажем, если вы хотите отправить uid = 1234 и server = na, вы должны сделать:

var params = new Object();
params.uid = "1234";
params.server = "na";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...