2017-05-17 5 views
0

Meine andere Frage wurde mit einer größeren Datei dynamisch gemacht, aber jetzt mache ich nur eine kleine, bereits vorhandene Textdatei zu versuchen und dieses Konzept zumindest funktionieren.Visual Basic Download nicht alles nach Fertigstellung

Ich versuche, eine Datei herunterzuladen, wenn der Benutzer auf die Schaltfläche klickt, aber nachdem die Response-Zeilen ausgeführt werden, scheint nichts herunterzuladen, noch erkennt der Browser einen möglichen Download. Ich bin genauso durchgegangen wie es nur durch jede Zeile geht aber am Frontend wird keine Download-Datei gestartet oder aufgefordert. Die Datei befindet sich momentan in der Bin-Datei des Projekts und ich habe es auch nur in meiner eigenen lokalen Download-Datei versucht. Enthält nur "Hallo" nichts Wichtiges.

Die asp:

<asp:button id = "Button1" Class="button" text = "TEST" runat = "server" /> 

Und die vb

Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
    Dim fileToDownload = Server.MapPath("~/bin/test.txt") 
    Response.ContentType = "text/plain" 
    Response.AppendHeader("Content-Disposition", "attachment; filename=test.txt") 
    Response.TransmitFile(fileToDownload) 
    Response.Flush() 
    Response.End() 

Ich habe die Antwort Linien in unterschiedlicher Reihenfolge versucht, als auch nur bündig mit oder einfach nur beenden. Dies ist natürlich nur eine verlockende Datei, da das größere Schema darin besteht, Dateien dynamisch zu erstellen und zu überlisten und diese dann für den Benutzer herunterzuladen.

+0

Erhält der Browser überhaupt eine Antwort? Oder dreht es sich einfach und aus? –

Antwort

0

bearbeiten: sry, ich habe gerade versucht, Ihren Code wie es ist und es funktionierte auf meinem Rechner. Ich benutze Firefox. Ich habe einige lange Artikel über den Umgang mit Internet Explorer gesehen. Hast du eine Chance?


Original-Beitrag:

kann eine Datei aus ist heruntergeladen werden? nur ein Gedanke. auch, versuchen Sie Response.Flush() entfernen und sehen, ob das hilft. Ich denke, Response.End kümmert sich darum - wenn alles erledigt ist.

+0

Nein, mit Chrome. Was komisch ist, ist, dass andere Seiten (die die Datei anders erstellen) in der Lage sind, ihre Dateien herunterzuladen (sagen wir eine Kopie einer Rasteranzeige in eine Excel-Datei). Die Methode des Herunterladens ist jedoch dieselbe und verwendet Response und ähnliches. Aus irgendeinem Grund wird diese Seite nicht auf den Code reagieren. – Adrew