我正在尝试在 iPad 上上传本地 html 文件中捕获的数据并将其保存到服务器。
我发现了这个:Sending data to an external file via Ajax
据我所知,没有办法发送这样的信息: ajax.open("POST",' http://www.misite.com/canvas/testSave.php ',true); 来自 iPad 上的 html,我是对的吗?
所以我只想知道是否有人知道这样做的技巧。谢谢!
我正在尝试在 iPad 上上传本地 html 文件中捕获的数据并将其保存到服务器。
我发现了这个:Sending data to an external file via Ajax
据我所知,没有办法发送这样的信息: ajax.open("POST",' http://www.misite.com/canvas/testSave.php ',true); 来自 iPad 上的 html,我是对的吗?
所以我只想知道是否有人知道这样做的技巧。谢谢!
几周后,这就是我可以实现的。
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在服务器上)让我知道。干杯。
为此,我使用了 Plupload。它会自动在 flash、silverlight 和 html5 之间切换,因此它几乎可以在任何浏览器上运行(包括 iPad 上的 safari)。基本上,它使用一些生成的 id 将文件上传到处理脚本(它为您生成它)。然后,您可以在完成上传后轮询另一个页面以获取上传的数据。
编辑:重新阅读您的帖子我不确定这有多相关,因为它需要用户选择一个文件,而我不确定这就是您所得到的。