lokale Dateien mit Response.Redirect in Mozilla öffnen

derAlex

Mitglied
Hallo zusammen,

Brauche unbedingt HIlfe!

Hat jemand Erfahrung, wie man mit Response.Redirect oder einem ähnlichen Mechanismus, lokale Dateien öffnen kann

Bsp.: Response.Redirect("D:\\LokaleInhalte\\test.html",true);

Funktioniert im IE ohne Probleme...im Mozilla allerdiungs wird angezeigt:

Object moved to here.
"here" ist dabei ein Link auf die angegebene URL. Wenn man dann auf "here" klickt, dann wird in diesem Beispiel eine Fehlerbox angezeigt:

d is not a registered protocol.

Bin für jede Idee und jeden Hinweis sehr dankbar!

Gruß

Alex
 
Das liegt daran, dass der MS IE mit dem Explorer "durcheinandergewurstelt" ist und er daher auch Befehle wie ein Dateibrowser versteht.
Bei Internetbrowsern musst du - streng an die Regeln gehalten - immer das Protokoll voranstellen, also z.B. http, ftp oder file
Letzteres dürfte dir weiterhelfen:
Response.Redirect("file:///D:/LokaleInhalte/test.html",true);
Du siehst, dass ich auch die Bachslashes umgedreht habe - Internet-typisch eben. :)
Du kannst übrigens bei Strings mit Backslashes das escape-Zeichen @ davor verwenden, dann brauchst du nur einfache Backslashes:
@"D:\LokaleInhalte\test.html"
 
Zuletzt bearbeitet:
Danke für Deinen Hinweis Gorcky.

Leider besteht das Problem weiterhin! Habe hier ein Listing mit dem ich gerade teste:

public class WebForm1 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Button Button1;
protected System.Web.UI.WebControls.Label Label1;
public string thePath;

private void Page_Load(object sender, System.EventArgs e)
{
thePath = Server.UrlPathEncode("file:///C:/PIMS/readme.txt" );
Label1.Text = thePath;
}

private void Button1_Click(object sender, System.EventArgs e)
{
//Erfolg in IE / Misserfolg in Mozilla
Response.Redirect("file:///C:/PIMS/readme.txt",true);
//Response.Write("<script>window.open(\"" + thePath + "\",\"_blank\");</script>");
}
}

Mit deinerm Tipp hat sich die Protokoll Fehlermeldung erledigt. Der link der nun angezeigt wird enthält auch die richtige URL. Wenn man nun die URL manuell in die Adresszeile des Mozilla einfügt, werden auch die richtigen Inhalte angezeigt. Klickt man aber darauf passiert...nichts.

Die Response.Write Möglichkeit verwende ich in der Regel um aspx Seiten in Frames aufzurufen. Funktioniert auch im Mozilla wunderbar...solang man sich innerhalb der virtuellen Verzeichnisse bewegt. Also leider auch für meine Zwecke nicht wirklich brauchbar.

Vielleicht hast Du noch eine Idee!

Alle anderen sind auch gerne eingeladen Tipps und Tricks zu dem Thema loszuwerden! Danke nochmals.

Gruß

Alex
 
Zurück