2016-12-01 5 views
0

Ich konnte erfolgreich eine binäre Stream Feld Datenbank speichern (pdf, jpg, etc.) und senden Sie es an meiner Seite, wie dies in einem ASP.net Gridview:Zurück

<asp:HyperLinkField DataNavigateUrlFields="ID" DataNavigateUrlFormatString="~/Formularios/file.ashx?ID={0}" HeaderText="Documento" 
      DataTextFormatString="{0}" Target="_top" Text="Download document" /> 

und in file.ashx

Das ist mein Rekord

enter image description here

Alles funktioniert gut, aber wenn ich Firefox benutze und auf "Dokument herunterladen" klicke, erscheint ein Popup "Öffnen/Speichern unter" und wenn ich "Speichern/als" wähle, heißt die heruntergeladene Datei "Datei.ashx". wo liege ich falsch? Ist nicht context.Response.AddHeader angenommen, wo ich den Namen und die Erweiterung der Ausgabedatei angeben?

Antwort

0

Try

context.Response.AddHeader("content-disposition", "attachment; filename=\"" + padDoc.NombreArchivo.Trim() + padDoc.Extension.Trim() + "\""); 

Zunächst einmal verwenden, Dinkel Sie attachment falsch.

Zweitens braucht es eine ; zwischen ihm und dem Dateinamen.

Und nicht zu Ihrem Fehler, aber wenn Ihr Dateiname ein Leerzeichen enthält, würde es einen abgeschnittenen Dateinamen geben.

+0

-.- 'omg. Vielen Dank! –

+1

Gern geschehen. Manchmal starrst du so lange auf ein Stück Code, dass du nichts mehr siehst. Ein frisches Augenpaar kann hilfreich sein. – VDWWD

Verwandte Themen