Upload obrázků – velikost souboru

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
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 | 667
+
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í.