1

「Object object」というエラー メッセージが表示されます。SDカードにフォルダがあります。これをサーバーにアップロードしたい。サーバーに upload.php があります。

    function local() {
        window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, onFileSystemSuccess, fail);
        window.resolveLocalFileSystemURI("file:///TestFolder/1.jpg", uploadOffline, fail);
    }
    function uploadOffline(fileEntry){
    checkConnection();

    var options = new FileUploadOptions();
    options.fileKey="file";
    options.mimeType="image/jpeg";

    var params = new Object();
    params.value1 = "test1";
    params.value2 = "param1";

    options.params = params;
    options.chunkedMode = false;
    var uri = fileEntry.toURI();
    var ft = new FileTransfer();
    ft.upload(uri, "http://www.myurl.com/upload.php", win, fail, options);
    }
4

2 に答える 2

0

問題の解決策が見つかったかどうかはわかりませんが、このコードが役立つかもしれません。

function files() {
    alert("Let's Start")    
     window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, 
        function gotFS(fileSystem) {
            fileSys = fileSystem;
        }
        , fsFail);

    fileSys.root.getDirectory("myFolder/", {create: true, exclusive: false},  
        function(parent) {
            folder=parent;
        }
        , dirFail);

        //Creating a reader
        var directoryReader = folder.createReader();
        // Get a list of all the entries in the directory
        directoryReader.readEntries(ReaderSucces,readerFail);   

    function ReaderSucces(entries){
        alert("I'm reading")
        var i,len;
        len = entries.length;
        for (i=0; i<len; i++) {
            if (entries[i].isDirectory) {
                 var directoryReaderIn = entries[i].createReader();
                directoryReaderIn.readEntries(ReaderSucces,readingFail); 
            }
             if(entries[i].isFile==true)
            {
            entries[i].file(uploadFile, readingFail);
            }
        }
    }

    var fsFail = function(error) {
            alert("failed with error code: " + error.code);
    };                  
    var dirFail = function(error) {
        alert("Directory error code: " + error.code);
    };
    var readerFail = function(error) {
        alert("Reading Directory error code: " + error.code);
    };          
    var readingFail = function (error){
        console.log("Reading Files error code: "+error.code);
    };
}

function uploadFile(file) {
    console.log("Let's upload!!!" + file)
    var target="http://YOUR_IP/upload.php"; //the url to upload on server
    var ft = new FileTransfer();
    var path = file.fullPath; //"file://"+ 
    var name = file.name;

    var ft = new FileTransfer();

    ft.upload(path, encodeURI(target), win, fail, { fileName: name, fileKey: "file", mimeType:"text/plain" });
           // var ft = new FileTransfer();
          //ft.upload(file.fullPath, target, win, fail, options);
}

サーバーの PHP (upload.php)

    <?php
if ($_FILES["file"]["error"] > 0) {
  echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
} else {
  echo "Upload: " . $_FILES["file"]["name"] . "\n " ; 
  echo "Type: " . $_FILES["file"]["type"] . "\n ";
  echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb\n ";
  echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<\n ";
  if (file_exists("uploads/" . $_FILES["file"]["name"])) {
    echo $_FILES["file"]["name"] . " already exists. ";
  } else {
    move_uploaded_file($_FILES["file"]["tmp_name"], "uploads/" . $_FILES["file"]["name"]); //Save location
    echo "Stored in: " . "uploads/" . $_FILES["file"]["name"];
  }
}
?>

フォルダーにあるすべてのファイル (ディレクトリ内のファイルも含む) が保存されます。それがうまくいくことを願っています。

于 2013-08-09T10:55:31.493 に答える