1

我能够从我的 PhoneGap 应用程序将图像上传到我的网络服务器就好了。但我想要做的是拍照而不是让它自动上传,而是等到我在表单输入字段中输入我的名字,然后当我点击提交时,它会提交表单并上传图像。然后处理文件的 php 脚本会将名称连接到图像名称上,这样我就可以知道是谁上传了它。

我希望人们能够为比赛提交照片,但我需要一种将用户与他们提交的照片相匹配的方法。如果不是太复杂,也许还有另一种方法?

这是我上传的javascript

function captureSuccess(mediaFiles) {
                var i, len;
                for (i = 0, len = mediaFiles.length; i < len; i += 1) {
                    uploadFile(mediaFiles[i]);
                }

            }

            // Called if something bad happens.
            //
            function captureError(error) {
                var msg = 'Something went wrong'
                navigator.notification.alert(msg, null, 'Uh oh!');
            }

            // A button will call this function
            //
            function captureImage() {
                // Launch device camera application,
                // allowing user to capture up to 2 images
                navigator.device.capture.captureImage(captureSuccess, captureError, {limit: 2});
            }

            // Upload files to server
            function uploadFile(mediaFile) {

                var ft = new FileTransfer(),
                path = mediaFile.fullPath,
                name = mediaFile.name;

                ft.upload(path,
                          "http://www.example.com/upload.php",
                          function(result) {

                          console.log('Upload success: ' + result.responseCode);
                          console.log(result.bytesSent + ' bytes sent');
                          var user_id = Math.floor(Math.random()*1001)
                          var day_uploaded = new Date().getDay();
                          var hour_uploaded = new Date().getHours();
                          var minute_uploaded = new Date().getMinutes();
                          var sec_uploaded = new Date().getSeconds();
                          var msg = 'Your file was uploaded! Your picture ID is ' + day_uploaded + hour_uploaded + minute_uploaded + sec_uploaded;
                          navigator.notification.alert(msg, null, 'Thanks!');
                          },
                          function(error) {

                          console.log('Error uploading file ' + path + ': ' + error.code);
                          },
                          { fileName: name });   
            }
4

1 回答 1

1

是的你可以

var _uploadPhoto = function(id, name, data) {
    var _data = {
        'id' : id,
        'fileName' : name,
        'image' : data
    };
    $.ajax({
        type : 'POST',
        data : JSON.stringify(_data),
        url : 'your_url'
        success : function(data) { },
        error: function(error) { }
    });
};
于 2013-03-26T08:15:45.400 回答