#

Downloaden von Files mit Web Extensions

Wenn man in einer Webseite Files zum Download anbieten möchte, dann hat man schnell das Problem, dass das einerseits leicht ist, aber für bestimmte Fälle so nicht möglich ist.
Die URL ist die Adresse die im Browser angezeigt wird und die Adresse beginnt in der Regel mit
http:// http, einem Doppelpunkt und zwei Frontslash
wie hier

<a href="http://localhost:54379/Daten/Files/2/Files_1539/themedata.thmx">themedata.jpg</a>


das heißt, wenn man in einem anchor href Link diese Adresse reinschreibt, dann wird die Datei automatisch vom Browser behandelt
und zwar
Fall 1)
gängige Web extensions wie .html, .htm .aspx .ph und images wie .jpg ode .gif werden direkt im Browser angezeigt. Hier gehört auch .pdf dazu.
Fall 2)
Wenn man
File.Extensions hat wie .xls oder .zip oder .exe , dann können diese nicht angezeigt werden und diese werden "automatisch" mit dem Browser downgeloaded in das Downloadverzeichnis des Browsers
Beispiel:

<a href="http://localhost:54379/Daten/Files/2/Files_1539/themedata.thmx">themedata.thmx</a>




File Anweisung im Browser:
Die Anweisung File://Adresse führt hier nicht zu einer Lösung, da es sich hierbei nur um LOKALE Dateien handelt wie C:// Dateien auf de Festplatte


Lösung 1:
Eine Lösung des Problems wird unter Microsoft gegeben indem man in den Header der WebSeite die Anweisungen

Content-disposition: attachment; filename=fname.ext
Laut Msdn: http://support.microsoft.com/kb/260519

header("Content-Type: application/octet-stream");

header("Content-Disposition: attachment; filename="$datei.ZIP"");

Lösung 2
Man kann auf den Link mit einer Response Erweiterung arbeiten
Response.ClearContent();

Response.AddHeader("Content-Disposition", "attachment; filename=" + file.Name);

Response.AddHeader("Content-Length", file.Length.ToString());
Response.ContentType = Studio1BusinessLayer.Helpers.ReturnExtension(file.Extension.ToLower());

Response.TransmitFile(file.FullName);
Response.End();

http://www.telerik.com/forums/file-download-functionality

Lösung 3:
Die Antwort mit Resesponse.Writefile definieren
Response.WriteFile("~/Your_File");
http://demos.telerik.com/aspnet-ajax/fileexplorer/examples/applicationscenarios/filteranddownloadfiles/defaultcs.aspx

Lösung 4: man kann von Telerik den Fileexplorer verwenden
http://demos.telerik.com/aspnet-ajax/fileexplorer/examples/applicationscenarios/filteranddownloadfiles/defaultcs.aspx

Mobile

.

soap2day