Ich entwickle ein Programm in VS2015. Ich habe eine abc.html Datei dynamisch erstellt. Jetzt möchte ich eine Funktionalität, die, wenn Benutzer auf Knopf klicken, die HTML-Datei im Browser öffnen oder speichern sollte. Wie kann ich das tun? -Code eine HTML-Datei dynamisch zu machen, ist wie folgt:Wie HTML-Datei auf einen Klick auf Schaltfläche in asp.net herunterladen?
Client-Seite wie folgt:
<asp:button ID="BtnGenrateHTML" runat="server" text=" Generate HTML " OnClick="btnAddnew_Click" />
Code hinter, wie folgt
protected void TestThisHTML(object sender, EventArgs e)
{
string sFileFullName;
string sFilePath;
string sFileName;
string strHTMLGrid = "";
strHTMLGrid = strHTMLGrid + "Dear Customer,<BR><BR> Please provide below OTP to complete registration <BR><BR> ";
strHTMLGrid = strHTMLGrid + "<BR><BR> This OTP is valid for 15 minutes.";
strHTMLGrid = strHTMLGrid + "<BR><BR> With Best Regards - Indiefy";
strHTMLGrid = strHTMLGrid + "<BR><BR> Hi My name is Basant Gera";
sFilePath = Server.MapPath("");
sFileName = "abc.html";
sFileFullName = sFilePath + "\\" + sFileName;
if (!Directory.Exists(sFileFullName))
{
Directory.CreateDirectory(sFilePath);
}
// if it exist than to delete it.
if (System.IO.File.Exists(sFileFullName))
{
System.IO.File.Delete(sFileFullName);
}
// If it deleted than we need to create it again
FileStream fs = new FileStream(sFileFullName, FileMode.Create);
using (StreamWriter w = new StreamWriter(fs, Encoding.UTF8))
{
w.WriteLine(strHTMLGrid);
}
fs.Close();
Page.ClientScript.RegisterStartupScript(this.GetType(), "", "fncpopup();", true);
}
Jetzt funktioniert gut My abc.html Datei .. Nun möchte ich mit einem Klick auf die Schaltfläche diese HTML-Datei im Browser gespeichert werden und im Browser fragen, ob Sie sie öffnen oder an einem bestimmten Ort speichern möchten
<asp:button ID="BtnGenrateHTML" runat="server" text=" Generate HTML " OnClick="btnAddnew_Click" />
Ort, an dem die Datei von Html gespeichert wird ----> Ich habe mappath.server verwendet, um es im aktuellen Verzeichnis zu speichern.
Wenn möglich, speichern Sie es im Download-Ordner in unserem Verzeichnis von PC.
Sein ehrfürchtig Arbeite ... Ich habe es angewendet Aber für Wissensbasis kann ich wissen, was application/octet-stream und Content-Disposition ist „“ Befestigung; filename = abc.html ... Bitte lassen Sie mich wissen –
@BasantGera In jeder Anfrage und Antwort zwischen Server und Client gibt es HTTP-Header, die Informationen über den Client-Browser enthält, angeforderte Seite, Server Hier, wo die 'application/octet-stream "als Inhaltstyp, um den Browser über das Vorhandensein einer Stream-Datei in einer Antwort zu informieren. Wenn Sie ihn also durch" text/html "ersetzen, würde der Browser verstehen, dass es sich um eine HTML-Datei handelt. Für die "Content-Disposition", "Anhang; filename = abc.html 'wir ordnen dem http-Header den Dateinamen (abc.html) zu und senden ihn als Anhang (öffne Download-Fenster im Browser). –
Sie können über HTTP-Header [hier] (http://code.utsplus.com/tutorials/http-headers-for-dummies--net-8039) überprüfen Sie bitte die Antwort als gelöst, wenn das Ihnen helfen –