Announcement

Collapse
No announcement yet.

"Falscher" Dateiname beim "speichern unter" Dialog

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

  • "Falscher" Dateiname beim "speichern unter" Dialog

    Hallo,

    schwer für das Problem einen Titel zu finden...

    Also, ich habe da ein spezielleres Problem. Über einen Link zum Download einer Anmwendung (oder PDF-Datei) auf meiner HTML-Seite übergebe ich an eine Action meiner DLL u.a. einen Dateinamen.
    Die Datei befindet sich nicht im öffentlichen Ordner des Servers und ist damit besser geschützt.
    In der DLL Setze ich den Dateipfad-String dann mit diesem übergebenen Dateinamen zusammen (siehe Code)!
    Diese Datei lade ich dann in einen Stream und übergebe diesen mit Response.ContentStream := FileStream; an den Browser.

    Mein Problem ist nun, dass wenn der Explorer hochpoppt dort dummerweise im Feld 'speichern unter' der Name der Action steht. Der User kann natürlich den Namen ändern und der Download klappt dann auch, d.h. die Datei lässt sich öffnen, aber es ist halt etwas unschön.
    Ich hätte gerne, dass dort der Name der Datei steht. Gibt es da auch eine Prozedure dafür wo ich diese Felder manipulieren kann oder eine Möglichkeit, dass dann der Dateiname im Feld "speichern unter" steht?

    Ich hoffe ihr habt alles verstanden. Wenn ihr weitere Infos braucht poste ich die natürlich noch!
    Wäre super wenn mir jemand weiter helfen kann.

    Hier mein Quellcodeausschnitt:

    <PRE>
    Ordner := Request.QueryFields.Values['FOLDER'];
    Datei := Request.QueryFields.Values['FILE'];
    </pre>
    <pre>
    if Ordner = 'Pdf-Dateien' then begin
    FileName := 'C:\Programme\sambar61\Extranet\' + Ordner + '\' + Datei;
    FileStream := TMemoryStream.Create;
    FileStream.LoadFromFile(FileName);
    FileStream.Position := 0;
    Response.ContentType := 'application/pdf';
    Response.ContentStream := FileStream;
    end;
    </pre>
    <pre>
    if Ordner = 'Exe-Dateien' then begin
    FileName := 'C:\Programme\sambar61\Extranet\' + Ordner + '\' + Datei;
    FileStream := TMemoryStream.Create;
    FileStream.LoadFromFile(FileName);
    FileStream.Position := 0;
    Response.ContentType := 'application/force_download';
    Response.ContentStream := FileStream;
    end;
    </pre>
Working...
X