0

我正在尝试在 iPad 上上传本地 html 文件中捕获的数据并将其保存到服务器。

我发现了这个:Sending data to an external file via Ajax

据我所知,没有办法发送这样的信息: ajax.open("POST",' http://www.misite.com/canvas/testSave.php ',true); 来自 iPad 上的 html,我是对的吗?

所以我只想知道是否有人知道这样做的技巧。谢谢!

4

2 回答 2

1

几周后,这就是我可以实现的。

1.- 发送数据的函数(从画布生成的图像)​​:

function sendImageData()
    {
        var filename = $("#filename").val().trim();
   if(filename == ''){
    alert("File name is needed");
    return;
   }

        var uploadCanvas = $("#uploadCanvas");
        var canvasData = uploadCanvas[0].toDataURL("image/png");
        var debugConsole= $("#debugConsole");
        debugConsole.val(canvasData);

      $.ajax({
            type: 'POST',
            url: "http://yourremoteserver.com/canvas/save.php",
            data: {
        canvasData:canvasData,
        filename:filename
    }
        }).done(function() {
                    alert("saved: " + filename + ".png");// THIS IS NOT WORKING YET.
                }
                );
    }

2.-接收和保存数据的PHP:

<?php
$imagen = $_POST['canvasData'];
$filename = $_POST['filename'];

if (isset($imagen)){
    $imageData=$imagen;
    $filteredData=substr($imageData, strpos($imageData, ",")+1);
    $unencodedData=base64_decode($filteredData);
    $fp = fopen( $filename.'.png', 'wb' );
    fwrite( $fp, $unencodedData);
    fclose( $fp );
}
?>

如果有人可以帮助我使用该.done功能(请记住,html文件在ipad中,而php在服务器上)让我知道。干杯。

于 2012-08-07T00:51:09.720 回答
0

为此,我使用了 Plupload。它会自动在 flash、silverlight 和 html5 之间切换,因此它几乎可以在任何浏览器上运行(包括 iPad 上的 safari)。基本上,它使用一些生成的 id 将文件上传到处理脚本(它为您生成它)。然后,您可以在完成上传后轮询另一个页面以获取上传的数据。

编辑:重新阅读您的帖子我不确定这有多相关,因为它需要用户选择一个文件,而我不确定这就是您所得到的。

于 2012-07-14T16:26:38.127 回答