Streamovanie videa z databazy. rubrika: Programování: .Net
V databaze mam ulozene velke subory (napriklad videa) a potreboval by som ich posielat nie v celku, ale sekvencne po kuskoch. Doteraz som bloby cital cez EF ako jeden binary array pri malych videach je to ok, ale nehodi sa to pre vacsie. Okrem toho ak chcem audio a video content streamovat a pretacat, potrebujem to posielat na klienta ako partial content https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/206 musim mat teda pristup k celemu obsahu a vediet sa v nom pohybovat. Na to sa najlepsie hodia streamy.
Ako teda z DB nacitat stream stlpca? Skusam to cez ADO.NET a EntityDataReader, ale zatial sa mi to nepodarilo spojazdnit. Neviete uviest nejaky priklad?
Nespecifikoval si databazu, tak budem prepokladat, ze pouzivas MS SQL (s inymi to bude fungovat obdobne).
Na to mam presnu odpoved, pisal som o tom blog aj s implementaciou v .Net Core - http://harrison314.github.io/CoreStreaming.html dana implementacia funguje nad subormi a nad MongoDB (GridFS poriamo podporuje kuskovanie blobov).
V zdrojoch mam clanok, kde je implementacia nad plnym .Net Frameworkom https://www.codeproject.com/Articles/820146/HTTP-Partial-Content-In-ASP-NET-Web-API-Video.
Ak pouzivas MS SQL, tak na vystrihnutie kusu bianrnych dat vies pouzit funkciu SUBSTRING, pomocou nej si spravit store proceduru a tu volat cez Entity Framework alebo ADO.
Ale osobne by som skor siel bud smerom ukladania do suborov, ci vhodnejsej databazy (MongoDB), alebo ked chces zostat na MS SQL tak pouzit FILESTREAM.
Pro zobrazení všech 4 odpovědí se prosím přihlaste:
Nebo se přihlaste jménem a heslem:
Komentáře