使用しているものとバージョン
Apache2.4
PHP8
通常の画像をアップロードした場合、phpファイルで画像ファイルを所得、
同時に表示させることはできます。しかし編集した画像をアップロードした後、phpファイルで取得される筈が
『414 Request-URI Too Long The requested URL's length exceeds the capacity limit for this server.』と表示されます。
phpファイルは以下のようになっております。
php
<?php $data = $_POST['image']; list($type, $data) = explode(';', $data); list(, $data) = explode(',', $data); $data = base64_decode($data); $imageName = time().'.png'; if(file_put_contents('images/'.$imageName, $data)){ echo "Success, " . $imageName; } else { echo "Error, unable to Put file."; } ?>
やはり、これが原因なのでしょうか?
$data = $_POST['image'];
確かにURLを見ると何故か長くなっております。しかし原因と対処方法が分かりません。
わかる方がいらしたら、教えていただけると幸いです。
(睡魔と闘いながらの投稿なので、何か説明で抜けていたらすみません。)
追記
送信フォーム
html
<form enctype="multipart/form-data" action="./???.php"> <div class="file-up"> <label> <input type="hidden" id="profileimage" name="MAX_FILE_SIZE" value="1048576" /> <input id="myfile" type="file" name="img" accept="image/*" class="file" /> <img id="upload-image" class="img" style="width:300px;height:300px;background-color:gray;border-radius:50%;" /> <label> </div> <div class="submit"> <input type="submit" value="upload" class="btn" /> </div> <script> $('.btn').on('click', function (ev) { $uploadCrop.croppie('result', { type: 'canvas', size: 'viewport' }).then(function (resp) { $.ajax({ url: "./???.php", type: "POST", data: {"image":resp}, success: function (data) { var response = data.split(","); var html; if(response[0] != "Error"){ html = '<img id="cropresult" style="margin: 0px;" src="' + response[1].trim() + '" />'; $("#uploaded-input").html(html); } else { console.log(data); } } }); }); });
まだ回答がついていません
会員登録して回答してみよう