Starší komentáře ke článku: Download se správným Content Type v ASP.NET

Zpět na článek | Úvodní stránka Interval.cz

Avatar

Autor komentáře: Ondrej Ivanic

Datum vložení: 6.5.2004 11:10:04

> Popisovaný skript funguje bez problému v Microsoft Internet Exploreru, Mozilla
> má potíže pouze pokud se jedná o neznámý Content Type, jelikož pak nabízí
> jméno stahovaného souboru doplněné o příponu .aspx, která ale jde v dialogu
> pro uložení souboru odstranit.

Mozno sa jej ani necudujem, ked tam chybaju uvodzovky :).

Response.AddHeader ("Content-Disposition","attachment; filename=\"" + FileName + "\"");

Cela hlavicka je:
Content-Disposition in RFC 1806 [35].

content-disposition = "Content-Disposition" ":"
disposition-type *( ";" disposition-parm )
disposition-type = "attachment" | disp-extension-token
disposition-parm = filename-parm | disp-extension-parm
filename-parm = "filename" "=" quoted-string
disp-extension-token = token
disp-extension-parm = token "=" ( token | quoted-string )

An example is

Content-Disposition: attachment; filename="fname.ext"

Avatar

Autor komentáře: Jiří Hala

Datum vložení: 6.5.2004 16:43:52

Děkuji za připomínku, ty uvozovky tam samozřejmně patří, zdá se, že jsem je přehlédl, ješte jedenkrát díky za opravu.

Avatar

Autor komentáře: Mirek

Datum vložení: 6.5.2004 18:22:05

Mám problém s IE6 a HTTPS, nefunguje to. Nemá někde nastaveno automaticky HTTP?? Jak se to dá definovat?? Mozilla a Netscape fungují v pohodě...

Avatar

Autor komentáře: Ondrej Ivanic

Datum vložení: 7.5.2004 10:19:48

IE je celkom zvlatny zivocich :)
Musis mat povolene nieco ako "Povolit ukladat sifrovane stranky na disk".

HTTPS nema zmysel ukladat do cache, ale IE to robi, spravmin moresom ho mozeme naucit pomocou headeru "Pragma: no-cache"

Volba "Povolit ukladat sifrovane stranky na disk" nema mic spolocne s cache, ale je povolena (default) mozene spravit dovnload, save suboru na disk.

Avatar

Autor komentáře: Ales Ruzicka

Datum vložení: 28.5.2004 10:22:03

Dobry den
potrebuji vyresit problem zabezpeceni pred stahovanim souboru neautorizovanou osobou.
Jak lze poznatky z tohoto clanku k tomu vyuzit? Vzdyt staci je nprochu prepsat url a dostanu se primo k souboru a nemusim se nikoho ptat? Jakym zpusobem byste to resili??

Avatar

Autor komentáře: kjouba

Datum vložení: 31.5.2004 23:00:35

no stačí přece k danýmu souboru dát takovou příponu, že nepůjde běžně stáhnout např. obrazek.jpg.config

Avatar

Autor komentáře: Ales Ruzicka

Datum vložení: 2.6.2004 15:52:33

Snazim se prepsat cast scriptu do VB a nak mi nejde tohle:

FileInfo DownloadFileInfo = new FileInfo(FilePath);

existuje alterantiva pro VB??
Porad to hazi chybu

Avatar

Autor komentáře: Jiří Hala

Datum vložení: 2.6.2004 17:10:30

Ve VB je syntaxe pro vytvoření instance tříd malinko jiná:

dim DownloadFileInfo as FileInfo = new FileInfo(FilePath);

Zkuste takto, mělo by to fungovat.

Avatar

Autor komentáře: Ales Ruzicka

Datum vložení: 3.6.2004 14:16:36

Tohle je mi jasne, ale nefunguje to. V tom je prave problem.
Visual Studio mi syntakticky tohle nesezere a kdyz dam u obou IO.FileInfo, tak to zase hodi nakou bychbu pri vykonavani scriptu. Zel si ted nepamatuju jakou, ale pozdeji to sem snad napisu.

Avatar

Autor komentáře: Ales Ruzicka

Datum vložení: 16.6.2004 18:00:47

Kdyz to napisu jak rikate ve VS, tak mi to hodi chybu:
Type 'FileInfo' is not defined
pokud to prepisu na bla IO.FileInfo bla bla
tak to po spusteni hodi chybu:
URI formats are not supported.
Tak nevim cim by to mohlo byt.

Avatar

Autor komentáře: Buchi

Datum vložení: 28.6.2005 14:46:28

Funguje vám ten skript kdyz jsou ve FileName znaky s diakritikou? pred posilanim souboru uvedu hlavicku Response.AddHeader("Content-Disposition","attachment; filename=\"" + FileName + "\""); vse funguje jak chci, jenom je v nazvu misto 1 znaku s diakritikou jsou 2 zmrseny znaky. Ze by neco s UTF8 ? Resil jste to nekdo?

Avatar

Autor komentáře: David Mensik

Datum vložení: 8.7.2005 14:06:27

Co treba HttpUtility.UrlEncode()? To asi bude potreba.

Avatar

Autor komentáře: Jozef Izso

Datum vložení: 27.2.2006 17:19:26

HttpServer.UrlPathEncode(fileName); Táto metóda funguje spoľahlivejšie v zakódovaní názvu súboru ako UrlEncode().

Zpět na článek | Úvodní stránka Interval.cz