0

このページのサンプル コードを実装しようとしています。

http://docs.phonegap.com/en/2.9.0/cordova_media_capture_capture.md.html#CaptureImageOptions

capture.capture.Video の下 (完全な例)

「cordova-xxxjs」を「cordova.js」に変更し(これは、このディストリビューションがファイルに名前を付ける方法のようです)、サーバーをローカルMacに変更しました。

同じネットワーク上の別の PC からサーバーにビデオ ファイルをアップロードできますが、テザリングされた iPhone 4S (6.1.3) で Xcode からこのコードを実行すると、ファイルが一時的に /private/var/tmp に書き込まれていることがわかります。 / フォルダーに移動されますが、webserver フォルダーには移動されません。消えるだけです。(他のPCからこれを行うと、一時的に書き込まれた後、正常に移動して名前が変更されたことがわかります。)

これは、そのサンプル ページのコードです。

<!DOCTYPE html>
<html>
<head>
    <title>Capture Video</title>

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

        // Called when capture operation is finished
        //
        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 = 'An error occurred during capture: ' + error.code;
            navigator.notification.alert(msg, null, 'Uh oh!');
        }

        // A button will call this function
        //
        function captureVideo() {
            // Launch device video recording application,
            // allowing user to capture up to 2 video clips
            navigator.device.capture.captureVideo(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://192.168.0.3/~me/index.php",
                      function(result) {
                      console.log('Upload success: ' + result.responseCode);
                      console.log(result.bytesSent + ' bytes sent');
                      },
                      function(error) {
                      console.log('Error uploading file ' + path + ': ' + error.code);
                      },
                      { fileName: name });
        }

        </script>
</head>
<body>
    <button onclick="captureVideo();">Capture Video</button> <br>
</body>
</html>

これは私のPHPです:

<?php

if (!empty($_FILES))
{
$file_src = 'video/'.$_FILES['image']['name'];
if(move_uploaded_file($_FILES['image']['tmp_name'], $file_src)):
echo 'Your file has been uploaded sucessfully';
else:
echo 'Error';
endif;
}
?>

私が間違っていることについて何か考えはありますか?

ありがとう

4

1 に答える 1