---
title: "Hur hantera filer på bästa sätt?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/146533-hur-hantera-filer-på-bästa-sätt"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "CatZ"
published: "2006-05-06T05:16:03.000Z"
updated: "2006-05-09T02:56:46.000Z"
replies: 9
views: 492
page: 1
pages: 1
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/146533-hur-hantera-filer-på-bästa-sätt"
---

# Hur hantera filer på bästa sätt?

## #1 — CatZ, 2006-05-06T05:16Z

Jag använder CrystalReports för att generera order i pdf format. Det funkar fantastiskt bra. Nu vill jag kunna emaila pdf filen till diverse företag eftersom vissa verkar föredra att få sina order på det viset! Problemet blir att då måste jag skapa pdf filen fysiskt. Sedan när mailet är skickat så ska jag tabort pdf filen och får då att *System.IO.IOException Bummer with the access!*

Försöker med **IO.File.Delete(strFileName)**

Ibland är det webläsaren som låser pdf filen och ibland verkar det vara Visual Studio 2005 som låser filen. Några tips på hur man ska göra? Ska jag skapa någon form av funktion som tar bort gamla pdf filer innan användaren skapar och emailar en ny?

Några förslag? Känner mig lite vilsen :)

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

## #2 — CatZ, 2006-05-06T07:57Z

```
		Private Sub EmptyTemp()
			Dim temp As String = "C:\Inetpub\root\temp\"

			Dim files() As String = Directory.GetFiles(temp)
			Dim f As String

			For Each f In files
				Dim filename As String = Path.GetFileName(f)
				If File.Exists(filename) = True Then
					File.Delete(filename)
				End If
			Next
		End Sub
```

Den här funktionen gör ju ingenting!? Hur ska jag kunna loopa igenom alla filer i en mapp och ta bort dom??

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

## #3 — CatZ, 2006-05-07T04:44Z

```
Sub Page_Load()
	grid1.DataSource = System.IO.Directory.GetFiles("C:\Inetpub\root\temp")
	grid1.DataBind()
End Sub
```

```
<asp:DataGrid
  ID="grid1"
  Cellpadding="10"
  Runat="Server" />
```

Den koden fungerar! Nu ska jag försöka ta bort filerna också :)

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

## #4 — emission, 2006-05-07T10:51Z

Jag skulle nog hellre försöka se till att det aldrig skapas någon fil, om det är tillämpligt i ditt fall. Använd ExportToStream på Crystal-rapporten och någon av stream-konstruktorerna på Attachment.

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

## #5 — CatZ, 2006-05-07T15:44Z

Ska man eposta en pdf fil måste den väl skapas först? Ska kolla på vad du sa imorn. Klockan är 2 am här snart! :D

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

## #6 — emission, 2006-05-07T16:28Z

> **CatZ skrev:**
>
> Ska man eposta en pdf fil måste den väl skapas först?

Ja, men den behöver aldrig lagras fysiskt.

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

## #7 — Gladh, 2006-05-07T18:47Z

Precis som emisson säger så är din file endast en bytearray som finns i minnet. Så om du skapar en pdf-fil i kod eller om du läser upp den från disken så ser den likadan ut i minnet, så det du vill är att skicka denna bytearray till attachment i ditt mail.

\- M

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

## #8 — CatZ, 2006-05-08T07:41Z

```
Dim strStream As New System.IO.BinaryReader( crReportDocument.ExportToStream( CrystalDecisions.[Shared].ExportFormatType.PortableDocFormat ) )

' Create the output pdf file
Response.ClearContent()
Response.ClearHeaders()
Response.ContentType = "application/pdf"
Response.BinaryWrite(strStream.ReadBytes(strStream.BaseStream.Length))
Response.Flush()
Response.Close()
```

Det där ska väl fungera, men hur tusan hämtar jag den här till mitt email attachment nu då?

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

## #9 — emission, 2006-05-08T08:51Z

> **emission skrev:**
>
> Använd ExportToStream på Crystal-rapporten **och någon av stream-konstruktorerna på Attachment.**

http://msdn2.microsoft.com/en-us/library/k5zs6xxh(vs.80).aspx

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

## #10 — CatZ, 2006-05-09T02:56Z

Tack emission! Mitt problem just nu är att jag inte är så avancerad att jag klarar att ta till mig av MSDN's dokumentation av asp.net än. ASP går bra nu men det hjälper ju inte mig ;)

Jag har för närvarande 3 funktioner. En för när användaren klickar på *skicka epost* en för att hämta pdf filen och en för att slutligen skicka epostmeddelandet!

- onClick_Send
- pdfToStream
- emailOrder

Just nu fattar jag inte hur jag ska få ihop det. Förut hämtade jag filnamnet och skickade det vidare med:

```
' Create the PDF order
strFileName = myutils.PdfToStream(Request.QueryString("OrderId"))
' Email the order
myResult = myutils.EmailOrder(Me.txtTo.Text, Me.txtFrom.Text, Me.txtSubject.Text, Me.txtMessage.Text, strFileName)
```

Istället för måste jag ju bygga ihop filen då? Jag har ju redan skapat en stream men hur ska man sätta ihop det till en fil?

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

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/146533-hur-hantera-filer-på-bästa-sätt
