iPad のローカル html ファイルにキャプチャされたデータをアップロードしてサーバーに保存しようとしています。
私はこれを見つけました:Ajax経由で外部ファイルにデータを送信する
私が理解できる限り、次のような方法で情報を送信する方法はありません。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 のサファリを含む) で動作するはずです。基本的に、生成された ID を使用してファイルを処理スクリプトにアップロードします (ID を生成します)。次に、アップロードが完了したら、別のページをポーリングして、アップロードされたデータを取得できます。
編集:あなたの投稿を再読すると、ユーザーがファイルを選択する必要があり、それが正確に得られているかどうかわからないため、これがどれほど適切かはわかりません。