1
.png
イメージファイルを配列バッファに読み込んだ。PHPサーバ上でAJAXを通してアップロードされたバイナリデータを保存する
var readSingleFile = function(e) {
var file = e.target.files[0];
if (!file) {
return;
}
var reader = new FileReader();
reader.onload = function(e) {
var contents =new Int8Array(e.target.result);
$.ajax({
url: 'saveBinaryData.php',
type: 'POST',
contentType: 'application/octet-stream',
data: contents,
processData: false
});
};
reader.readAsArrayBuffer(file);
}
これは、AJAXが説明するようにPHPファイルに掲載されています。
このバイナリデータをイメージ形式に変換するにはどうすればよいですか?
私のコードは、これまで:
<?php
if($data=file_get_contents($_POST)){
echo "Error! Data not read!";
return;
}
$data = imagecreatefromstring($data);
var_dump($data);
file_put_contents("recentImage1.png", $data);
?>
これらは、Googleで見つかった様々なソリューションから取得されます。画像ファイルは作成されますが、コンテンツは保持されないため開けません。
あなたはファイルに直接アップロードされたデータを書き込もうとしましたか?私はそれがサーバー側で変換を必要とすべきではないと思う。少なくともそれはAJAXを介して画像をアップロードする方法です(ただし多分私は別のライブラリを使用します)。 –
ええ、それは私がやった最初のことでした - 喜びはありません。後で 'imagecreatefromstring()'を見ました。 – LeDoc
'file_get_contents()は、パラメータ1が有効なパスであることを期待しています。/ var/www/html/mqttHandscan/saveBinaryData.php' - Apache2エラーログから取得しました – LeDoc