Upload obrázků – velikost souboru

weckho
Člen | 94
+
0
-

Ahoj,

mám na webu upload obrázků při využití Nette image. Aplikace mi však každý obrázek datově zvětší – z obrázku o velikosti několik kb udělá 5Mb soubor. To vede k tomu, že při uploadu několika obrázků současně celé nahrávání spadne, protože je překročen časový limit. Nenapadá mě, v čem by mohl být problém. Zde je kód, který soubory zpracovává:

$image = $values['image'];
            if ($image->isOK()) {
            $image = Image::fromFile($image);

            /*if($image->getWidth() > 860 || $image->getHeight() > 515){
                $image->resize(860, 515, Image::STRETCH);
            }*/

            $image->alphaBlending(false);
            $image->saveAlpha(true);

            $image_name = hexdec($values['image']);
            if (file_exists('images/gallery/' . $image_name . '.png')) {
                $image_name = $image_name . hexdec($values['image']);
            }

            $path = 'images/gallery/' . $image_name . '.png';
            $image->save($path, 80, Image::PNG);

            $iname = $image_name . '.png';
        } else {
            throw new \IOException('Nepodařilo se nahrát obrázek.');
        }

Díky za radu!

bojovyletoun
Člen | 668
+
0
-

Jako že se ti v prohlížeči ukazuje v progressbaru(třeba v opeře), že nahráváš 5MB? Ale s tím není problém (obecně, bez nette). Jinak nevím, kde hledat problém. Soubor se ukládá pomalu? Nebo převod do PNG trvá dlouho(v tom případě zkus snížit kvalitu třeba na 5)? . Pozn: termín kvalita je blbý, spíš se jedná o kompresi, ptž png je bezztrátéový

Mikulas Dite
Člen | 756
+
0
-

Pochopil jsem to tak, že pokud jako vstup dáš 5KB a uložíš znovu přes Nette image, tak ti to vyhodí něco velikého. To se dá očekávat, třeba Photoshop dokáže s kompresí png udělat kouzla (vynechá barvy, pattern, web safe, matting, atp.) a naopak bych předpokládal, že po prohnání php knihovnou to trochu vyroste. Ale z 5KB na megabajty? To je divný.

Editoval Mikulas Dite (16. 4. 2011 11:08)

Patrik Votoček
Člen | 2221
+
0
-

pokud uploadneš JPEG (fotku) kterej má třeba 500kb a uložíš ho jako PNG tak se nemáš čemu divit že ti několika násobně vzrostě objem dat. PNG se vzhledem ke svému kompresnímu algoritmu na ukládání fotek vůbec ale vůbec nehodí.

RSS tématu Téma zavřeno