2017-03-14 3 views
1

Ich habe eine Api gemacht, in dem ich das Bild von Base64-Format, hochladen muss, aber wenn ich versuche, großes Bild (820 KB) im Base64-Format hochzuladen es zeigt 500 interner Serverfehler & Wenn ich versuchte, das kleine Bild (16 KB) hochzuladen, dann ist es erfolgreich hochgeladen.Ich habe auch die Größe der Server-Upload-Größe überprüfen es ist 64mb.Ich bekomme nicht, warum es nicht große Base64 hochlädt Bildzeichenfolge Unten ist meine JSON-Anfrage und PHP-Code von API.Großes Bild ist nicht uploding auf Server in Base64 mit PHP

PHP-Code

<?php 
$jsonreq = $app->request->getBody(); 
$encodedata = json_decode($jsonreq, true); 
$userid = !empty($encodedata['userid']) ? $encodedata['userid'] : ''; 
     $goal = !empty($encodedata['goal']) ? $encodedata['goal'] : ''; 
     $title = !empty($encodedata['title']) ? addslashes($encodedata['title']) : ''; 
     $category = !empty($encodedata['category']) ? $encodedata['category'] : ''; 
     $story = !empty($encodedata['story']) ? $encodedata['story'] : ''; 
     $image = !empty($encodedata['photo']) ? $encodedata['photo'] : ''; 
     $db = getDB(); 
     $sql = "SELECT * FROM users where id='" . $userid . "'"; 
     $stmt = $db->query($sql); 
     $obj = new stdClass(); 
     if ($stmt->rowCount() > 0) { 
      if ($image != "" || $image != NULL) { 
       $users = $stmt->fetch(PDO::FETCH_OBJ); 
       $img = str_replace('data:image/png;base64,', '', $image); 
       $img = str_replace(' ', '+', $img); 
       $fileName = uploadBase64Image($userid, $img, uploadFundraiserImage); 
       $imagepath = uploadFundraiserImage . $fileName; 
       $imagepath = str_replace('../', '', $imagepath); 
      } else { 
       $imagepath = ''; 
      } 

?> 

Unten ist mein json Anfrage

{ 
    "goal":22, 
    "title":"test new2", 
    "story":"test new2", 
    "category":"health", 
    "userid":"46", 
    "photo":"here we paste base64 image string" 
    } 

hier, wenn wir zum Beispiel meine imge Größe beträgt 800 kb für die unter base64 String Großbild nehmen dann zeigt es 500 internen Server Fehler für unter string.Ich kann nicht bas64 Zeichenfolge einfügen, weil es ziemlich lang, aber wenn wir ein Bild von 800kb oder mehr als das als es zeigt den folgenden Fehler.

500 Internal Server Error 
Internal Server Error 
The server encountered an internal error or 
misconfiguration and was unable to complete 
your request. 

Bitte helfen Sie mir, dieses Problem zu lösen.

+2

Haben Sie "max_post_size" in Ihrer php.ini überprüft? –

+0

ja es ist auch 65M. –

+1

Überprüfen Sie das Fehlerprotokoll Ihres Servers, normalerweise /var/log/apache2/error.log. –

Antwort

0

Ich habe gerade ModSec auf meiner Domain ausgeschaltet.Nachdem es funktioniert eine Server-Konfiguration Fehler gibt es keinen Fehler im Code.