Nahrávání souboru přes POST a chyba 413

Mára98
Člen | 47
+
0
-

Ahoj všem,

na své Nette stránce používám JavaScriptovou knihovnu, která interně nahrává soubor na server. Když ale nahraji soubor větší než cca 4MB, dostanu chybu 413. Endpoint vypadá nějak takto:

	/**
* Endpoint pro nahrání souborů. Využíváno editorem (Editor.vue)
*/
public function actionUploadFile() {
    // Získá HTTP request
    $request = $this->getHttpRequest();

    // Získá obrázek a příponu
    $file = $request->getFile('file');
    $type = array_slice(explode('.', $file->getSanitizedName()), -1)[0];

    // Vytvoří název souboru
    $name = uniqid('FILE_') . '.' . $type;

    // Přesune soubor do adresáře pro
    // nahrané (uploadnuté) soubory
    $file->move(dirname(__FILE__) . '/../../www/uploaded/' . $name);

    // Odešle odpověď
    $this->sendResponse(new JsonResponse([
        // Data určená pro klienta
        'success' => 1,
        'file' => [
            // Cesta k obrázku
            'url' => '/uploaded/' . $name,
            // Jméno
            'name' => $name,
            // Velikost
            'size' => $file->getSize(),
            // Přípona
            'extension' => $type
        ]
    ]));
}

Knihovna je k nahlédnutí zde. V configu mám pak toto:

php:
	post_max_size: 256M
	upload_max_filesize: 256M
	memory_limit: 512M
	max_input_time: 0

Nenapadá prosím někoho, kde by mohl být problém?

dakur
Člen | 493
+
0
-

@Mára98 Knihovnu jsem nezkoumal, ale zkusil bych poslat request přímo bez ní, jestli se to bude chovat stejně. Taky zkouknout, jestli se PHP dostane do té actionUploadFile() nebo kam vlastně. Prostě oddebuggovat to tak, abych zjistil, ve kterém místě se to pokazí – pak teprve proč.

jiri.pudil
Nette Blogger | 1028
+
+1
-

Taky je možné, že to zařízne ještě něco před PHPčkem, tj. web server nebo třeba reverzní proxy, ty typicky taky umějí limitovat velikost požadavku.

Mára98
Člen | 47
+
0
-

Moc děkuji za pomoc pánové, jedná se o limitaci mého serverového poskytovatele.