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