---
title: "Spara ruta"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/159067-spara-ruta"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "smileenergy"
published: "2007-04-09T13:19:24.000Z"
updated: "2007-04-11T19:28:23.000Z"
replies: 24
views: 794
page: 1
pages: 2
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/159067-spara-ruta"
---

# Spara ruta

_Sida 1 av 2._

## #1 — smileenergy, 2007-04-09T13:19Z

Hejsan!
Någon som vet hur man göra en "vill du spara ruta" i asp.net C#?
Du har säkert stött på en sån på webben, du klickar på en länk till en fil och du får upp rutan vill du spara den här filen och sen får du välja vart...

Permalänk: https://www.webforum.nu/p/159067

## #2 — Fredde Mannen, 2007-04-09T13:24Z

Brukar se dem, så länge det gäller filer som ej kan exekveras och öppnas i webbläsaren direkt. 

Vad gäller det för typ av filer som du vill att användaren skall stöta på denna ruta?  För själv ser jag dem när jag klickar på länkar med ex. exe, zip, gz, doc  som filer.. vet ej hur man kan tvinga fram en sådan ruta..

Permalänk: https://www.webforum.nu/p/1957610

## #3 — colione, 2007-04-09T13:41Z

Du skickar med detta i huvudet:

Content-disposition: attachment; filename=namn.ext

kod:

```
Response.AddHeader("content-disposition", "attachment;filename=namn.ext");
```

Permalänk: https://www.webforum.nu/p/1957614

## #4 — smileenergy, 2007-04-09T14:23Z

> **colione skrev:**
>
> Du skickar med detta i huvudet:
> 
> Content-disposition: attachment; filename=namn.ext
> 
> kod:
>
>
> ```
> Response.AddHeader("content-disposition", "attachment;filename=namn.ext");
> ```

 
Tack så mycket, nu får jag upp rutan men vart sätter jag sökvägen till filen och hur ändrar jag filnamnet? 

Skulle bli glad om du kunde hjälpa mig med detta

Adressen till filen är: 

```
Server.MapPath("~/gamefile/" + GridView1.SelectedRow.Cells[2].Text)
```

 

Namnet på filen är :
GridView1.SelectedRow.Cells\[2\].Text)

la jag bara till filnamnet så här så skrev han bara ut texten gridview.. bla bla
Content-disposition: attachment; filename=GridView1.SelectedRow.Cells\[2\].Text

Permalänk: https://www.webforum.nu/p/1957640

## #5 — Fredde Mannen, 2007-04-09T14:28Z

```
Response.AddHeader("content-disposition", "attachment;filename=" + Server.MapPath("~/gamefile/" + GridView1.SelectedRow.Cells[2].Text));
```

Kanske!?

Permalänk: https://www.webforum.nu/p/1957643

## #6 — smileenergy, 2007-04-09T14:33Z

tyvärr inte :/ 
jag får bara upp början på sökvägen då och ingen fil att spara heller

Permalänk: https://www.webforum.nu/p/1957644

## #7 — colione, 2007-04-09T14:35Z

Du måste ju läsa av filen och spotta ut den till läsaren också.. :) därför får du ingen fil att spara...du ändrar filnamnet genom att ändra i filename=
Själva läsningen av filen får du nog lösa med en streamreader 

Här har du en färdig lösning att titta på (använder dock ytterligare en komponent för att fippla med mail, men den delen kan du ignorera):

<http://www.aspnetmime.com/tutorials/Sample_AttachmentToBrowser.aspx>

Permalänk: https://www.webforum.nu/p/1957646

## #8 — Pace, 2007-04-09T14:38Z

Du skriver det filnamn du vill att filen ska sparas som i sidhuvudet (Response.AddHeader). Det behöver inte vara samma som originalfilen.

För att skriva filen till webbläsaren (klienten) använder du [HttpResponse.WriteFile](http://msdn2.microsoft.com/en-us/library/system.web.httpresponse.writefile.aspx).

r) colione hann före.

Permalänk: https://www.webforum.nu/p/1957648

## #9 — smileenergy, 2007-04-09T15:02Z

hmm, får det inte riktigt att fungera... 

```
//variabler 
        string file = Server.MapPath("~/gamefile/" + GridView1.SelectedRow.Cells[2].Text);
        
        Response.AddHeader("content-disposition", "attachment;filename=namn.ext");
        HttpResponse.WriteFile(file);
```

 

Någon som kan visa hur det ska vara... jag vill få den att fråga sen vill jag ha att han ska ladda ned rätt fil.

Permalänk: https://www.webforum.nu/p/1957652

## #10 — Pace, 2007-04-09T15:19Z

Vad är det som inte fungerar?

(Bör för övrigt vara Response.WriteFile eftersom det ska vara i den aktuella HTTP-strömmen du ska skriva till.)

Permalänk: https://www.webforum.nu/p/1957660

## #11 — smileenergy, 2007-04-09T15:41Z

jag får bara upp frågan vill du spara C--Documents alltså ingen fil eller någonting.. response är det ändrat till...

Permalänk: https://www.webforum.nu/p/1957666

## #12 — colione, 2007-04-09T15:46Z

Du måste ju fortfarande läsa av innehållet i filen för att spotta ut det...som du gör nu så ber du den att skriva in sökvägen i filen.

Permalänk: https://www.webforum.nu/p/1957668

## #13 — smileenergy, 2007-04-09T16:11Z

> **colione skrev:**
>
> Du måste ju fortfarande läsa av innehållet i filen för att spotta ut det...som du gör nu så ber du den att skriva in sökvägen i filen.

Kan inte du visa hur man gör det då?

Du har ju sökvägen till filen och allt.

Permalänk: https://www.webforum.nu/p/1957679

## #14 — colione, 2007-04-09T16:21Z

Det stod ju i exemplet jag länkade till?
Men nåt sånt här, lite förkortat.

```
<%@ Import Namespace="System.IO"%>
StreamReader sr = new StreamReader( sökväg );
			string file = sr.ReadToEnd();
			sr.Close();
 		        Response.WriteFile(file);
```

Permalänk: https://www.webforum.nu/p/1957682

## #15 — colione, 2007-04-09T16:30Z

eller kanske ännu hellre filestream istället för streamreader:
<http://msdn2.microsoft.com/en-us/library/system.io.filestream.aspx>

Permalänk: https://www.webforum.nu/p/1957683

## #16 — emission, 2007-04-09T16:32Z

Skicka in sökvägen i WriteFile och somna om.

Permalänk: https://www.webforum.nu/p/1957687

## #17 — smileenergy, 2007-04-09T17:45Z

hmm, jag får det inte att fungera.. samma fel som förut..

Permalänk: https://www.webforum.nu/p/1957715

## #18 — colione, 2007-04-09T17:48Z

och hur exakt ser din kod ut?

Permalänk: https://www.webforum.nu/p/1957718

## #19 — smileenergy, 2007-04-09T18:25Z

```
StreamReader sr = new StreamReader(Server.MapPath("~/gamefile/" + GridView1.SelectedRow.Cells[2].Text));
        string filename = sr.ReadToEnd();
        sr.Close();
        Response.WriteFile(filename);

        //Låt användaren ladda hem filen
        Response.AddHeader("content-disposition", "attachment;filename=" + Server.MapPath("~/gamefile/" + GridView1.SelectedRow.Cells[2].Text));
```

Permalänk: https://www.webforum.nu/p/1957724

## #20 — Pace, 2007-04-09T18:41Z

```
string filename = Server.MapPath("~/gamefile/") + GridView1.SelectedRow.Cells[2].Text;

Response.WriteFile(filename);

Response.AddHeader("content-disposition", "attachment;filename=myfile.txt");
```

Om det inte fungerar har du fel sökväg till filen.

Permalänk: https://www.webforum.nu/p/1957728

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/159067-spara-ruta  
Nästa sida: https://www.webforum.nu/amne/dotnet/159067-spara-ruta/page2.md
