2012-04-04 4 views
0

ich Probleme Einwickeln meines Kopfes habe mich um, wie dies zu tun.Generieren Sie eine Datei aus einem String und sendet an den Benutzer C#

Ich habe ein Datatable Wesen über gespeicherte Prozedur zurückgegeben. Ich gehe dann durch und erstelle eine begrenzte Datei basierend auf den zurückgegebenen Informationen.

Ich habe es hier ohne Probleme gemacht.

Mein Problem nimmt mein Stringbuilder-Objekt und eine CSV-Datei mit dem Erstellen und dann an den Benutzer zu senden, um sie herunterzuladen. Ich kann keine temporäre Datei auf dem Server aufgrund von Berechtigungen erstellen, also versuche ich dies alles im Speicher zu tun.

Ich denke ich etwas mit einem Memorystream zu tun, muß die „Datei“ zu erstellen und dann es mit Antwort dienen, aber ich bin nicht sicher, was zu tun ist.

+0

möglich Duplikat von [Wie Text an den Client als HTML-Seite zurückzukehren?] (Http://stackoverflow.com/questions/9983859/how-to-return-text-to -die-client-as-html-seite) – David

+0

Diese wurde hier ein paar mal beantwortet :) Im Wesentlichen möchten Sie einige Header (insbesondere 'content-disposition', um dem Browser mitzuteilen, dass die Antwort eine Datei ist), schreiben die Datei (oder die Zeichenfolge, eher) an die Ausgabe, und schließen Sie die Ausgabe. Viel Glück! – David

+0

Kombinieren Sie diese http://stackoverflow.com/questions/4884357/converting-dataset-datatable-to-csv –

Antwort

4
Response.Clear(); 
Response.ContentType = "application/CSV"; 
Response.AddHeader("content-disposition", "attachment; filename=\"" + filename + ".csv\""); 
Response.Write(csvBuilder.ToString()); 
Response.End(); 
0

Ich bin mir ziemlich sicher, dass diese Antwort Sie auf dem richtigen Weg bringen wird.

Stellen Sie sicher, dass der content auf die entsprechenden Werte für Ihre Datei. Wahrscheinlich response.ContentType = "text/plain";

Setting PDF file name dynamically

Verwandte Themen