2016-09-15 2 views
0

私はhtml2canvas divを使用して画像を変換してから画像をPHPに送信します。この処理は700kb未満の画像のみ実行されます。<サイズ画像はPHPで投稿できません。いくつかのアイデアとサンプルコードをお知らせください。html2canvasは、1mbのサイズの画像をPHPサーバにアップロードすることはできません。

私のhtmlコードは次のとおりです。

<div id="popup_div"> 
    <h1>i put some special</h1> 
</div> 
<form method="POST" enctype="multipart/form-data" action="work_cards.php" id="myForm"> 
    <input type="hidden" name="img_val" id="img_val" value="" /> 
</form> 

私のクエリ:

function capture() { 
    $('#popup_div').html2canvas({ 
     useCORS: true, 
     allowTaint: true, 
     onrendered: function (canvas) { 
      //Set hidden field's value to image data (base-64 string) 
      $('#img_val').val(canvas.toDataURL("image/jpeg").replace("image/jpeg", "image/octet-stream")); 
      //Submit the form manually 
      document.getElementById("myForm").submit(); 
     } 
    }); 
} 

work_cards.phpコードは次のとおりです。

post_max_sizeの値を設定し
$filteredData=substr($_POST['img_val'], strpos($_POST['img_val'], ",")+1); 
//Decode the string 
$unencodedData=base64_decode($filteredData); 
$url = "Kings_design"; 
//Save the image 
file_put_contents('img/order/'.$url.'.jpeg', $unencodedData); 
echo $_POST['img_val']; 

答えて

0

10が1 MBより大きい場合、

post_max_size="4M" 
+0

私はphp.iniファイルのpost_max_size = "800mb"を変更しますが、同じ問題が発生します。 –

+0

また、PHPコードの前に任意のプロキシサーバーで同様の設定を行う必要があります。例えばApacheまたはNginx – activatedgeek

関連する問題