Announcement

Collapse
No announcement yet.

Name der zu sendenden Datei ändern

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Name der zu sendenden Datei ändern

    Hallo,
    ich habe eine ASPX-Seite erstellt, mit der eine CSV-Datei versendet wird. Diese Datei liegt aber nicht im Filesystem, sondern wird on demand erstellt und im Speicher als String vorgehalten. Das funktioniert alles super.
    Wenn die Datei zum Download angeboten wird, ist ihr Name aber identisch dem der Webseite, z.B. getCSV.aspx.

    Gibt es nun eine Möglichkeit, den Namen zu ändern?

    Andreas

  • #2
    Hallo,

    wenn über <b>AppendHeader</b> der <b>filename</b> dazugemischt wird, zeigt der Speichern unter-Dialog des Webbrowsers den zugewiesenen Dateinamen für die zu speichernde Datei an. Das folgende Beispiel stellt verschiedene Word-Vorlagen zum direkten Download aus der Datenbank heraus zur Verfügung:
    <pre>
    <b>int</b> iID = <b>int</b>.Parse(<b>this</b>.Request[<font color="#9933CC">&quot;ID&quot;</font>]);
    <b>this</b>.sqlCommandSelectByID.Parameters[<font color="#9933CC">&quot;@ID&quot;</font>].Value = iID;
    <b>this</b>.sqlConnection1.Open();
    <b>try</b>
    {
    <b>byte</b>[] aBuffer = <b>new</b> <b>byte</b>[0];
    System.IO.MemoryStream aMS = <b>new</b> System.IO.MemoryStream();
    aBuffer = (<b>byte</b>[]) <b>this</b>.sqlCommandSelectByID.ExecuteScalar();
    aMS.Write(aBuffer, 0, aBuffer.Length);
    <b>this</b>.Response.ContentType = <font color="#9933CC">&quot;application/x-zip-compressed&quot;</font>;
    <b>this</b>.Response.AppendHeader(<font color="#9933CC">&quot;content-disposition&quot;</font>,<font color="#9933CC">&quot;filename=Output.dot&quot;</font>);
    aMS.WriteTo(<b>this</b>.Response.OutputStream);
    }
    <b>finally</b>
    {
    <b>this</b>.sqlConnection1.Close();
    }
    </pre&gt

    Comment

    Working...
    X