Ako publikovat obrázky na webe? rubrika: Programování: PHP

6 xxar3s
položil/-a 5.7.2012
 
upravil/-a 5.7.2012

Mám obrázky uložené v databáze (SQL Server 2008 R2 - s db pracujem cez EF) ako bloby (typ varbinary(MAX))k db sa pristupuje pomocou desktopovej aplikácie, chcel by som ich ale teraz zavesit aj na web. Ako spístupniť obrázok priamo z DB? Používa sa na to HttpHandler?

12
odkaz
6 jakub.macek.0
odpověděl/-a 5.7.2012

Ano, HttpHandler se na to vcelku hodí, na CodeProject se dá najít docela dost příkladu, např. http://www.codeproject.com/Articles/33310/C-Save-and-Load-Image-from-Dat... (sekce Generic Handler to Display Image). Jen doporučuji nejdřív projít komentáře, protože některé z článků popisují sice funkční, ale často nevhodné řešení.

V těchto případech je ovšem důležité zohlednit ještě pár věcí - jmenovitě cachování (pro veřejný web téměř nezbytné, ukázka na http://stackoverflow.com/questions/994135/image-from-httphandler-wont-ca... - autor si odpověděl v otázce sám) a session (HttpHandler je ve výchozím stavu bez session, příklad na http://www.hanselman.com/blog/GettingSessionStateInHttpHandlersASHXFiles...)

Předpokládám, že to asi nebude možné, ale doporučuji znovu zvážit, jestli je nutné mít obrázky v databázi. Pár let jsem to takto používal na webových projektech, ale zpětně se to ukázalo jako nepraktické, například z hlediska zálohování nebo přenášení databáze.

Komentáře

  • xxar3s : vdaka za odkazy :) 5.7.2012

Pro zobrazení všech 2 odpovědí se prosím přihlaste:

Rychlé přihlášení přes sociální sítě:

Nebo se přihlaste jménem a heslem:

Zadejte prosím svou e-mailovou adresu.
Zadejte své heslo.