---
title: "Bilduppladdning, säkerhetsfel"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/164013-bilduppladdning-säkerhetsfel"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "k0ffe"
published: "2007-08-29T21:15:01.000Z"
updated: "2007-08-30T20:13:58.000Z"
replies: 8
views: 605
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/164013-bilduppladdning-säkerhetsfel"
---

# Bilduppladdning, säkerhetsfel

## #1 — k0ffe, 2007-08-29T21:15Z

Hej!

Jag har en funktion för bilduppladdning där jag stöter på ett säkerhetsfel.
Det hela fungerar bra lokalt, men när jag kör det över ett webbhotell får jag följande fel:

```
Security Exception 
Description: The application attempted to perform an operation not allowed by the security policy.  To grant this application the required permission please contact your system administrator or change the application's trust level in the configuration file. 

Exception Details: System.Security.SecurityException: Request for the permission of type 'System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.

Source Error: 
				
Line 112:                    Dim image As System.Drawing.Image = System.Drawing.Image.FromFile(userPostedFile)
```

"filePicture" är input-fältet för uppladdning
Detta är ett urklipp av koden som körs vid postning:

```
Dim userPostedFile As String = filePicture.PostedFile.FileName ' Uppladdad fil

                    ' Nytt filnamn 
                    Dim GUID As String = System.Guid.NewGuid().ToString()

                    ' Sökväg för bild
                    Dim filePath As String = "../Img/page/" & GUID & ".jpg"	
					
					
                    Dim image As System.Drawing.Image = System.Drawing.Image.FromFile(userPostedFile)
```

Jag har skrivrättigheter på mappen, har testat:

```
filePicture.PostedFile.SaveAs(server.mappath("../Img/page/" & GUID & ".jpg"))
```

... vilket fungerar bra.

Någon som vet vad felet är?

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

## #2 — freguz, 2007-08-30T08:29Z

Har för mig att net använder nån temp katalog för att temporärt lagra filen där först, kan vara det som kapsejsar

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

## #3 — Gladh, 2007-08-30T09:24Z

```
Dim userPostedFile As String = filePicture.PostedFile.FileName ' Uppladdad fil
                    ' Nytt filnamn 
                    Dim GUID As String = System.Guid.NewGuid().ToString()
                    ' Sökväg för bild
                    Dim filePath As String = "../Img/page/" & GUID & ".jpg"	
                    Dim image As System.Drawing.Image = System.Drawing.Image.FromFile(userPostedFile)
```

Du försöker hämta en fil från din mapp, men du har inte spara ner filen än, finns verkligen filen där?

\- M

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

## #4 — k0ffe, 2007-08-30T12:11Z

Nej, den finns inte där än eftersom jag först vill beskära och komprimera bilden innan jag sparar den. 

Varför fungerar det lokalt, men inte publicerat? Förvirrad!

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

## #5 — Gladh, 2007-08-30T14:17Z

> **k0ffe skrev:**
>
> Nej, den finns inte där än eftersom jag först vill beskära och komprimera bilden innan jag sparar den

Men varför iallvärlden försöker du hämta bilden från en file om den inte finns där?

> **k0ffe skrev:**
>
> Varför fungerar det lokalt, men inte publicerat? Förvirrad!

För att du garanterat kör som Administrator på din maskin och därmed får lova att göra saker som du inte får i den skarpa miljön. Men du borde få ett fel även i din egen miljö om att filen inte finns när du försöker ladda den från disk, den finns ju inte där...

\- M

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

## #6 — k0ffe, 2007-08-30T15:16Z

> **Gladh skrev:**
>
> Men varför iallvärlden försöker du hämta bilden från en file om den inte finns där?

Jo jag har ju bläddrat fram bilden i min file-input innan jag postar.
Men det behövs en sökväg till en fil på servern istället alltså?

> **Gladh skrev:**
>
> Men du borde få ett fel även i din egen miljö om att filen inte finns när du försöker ladda den från disk, den finns ju inte där...

Det fungerar hur bra som helst!

Då behöver jag först spara filen, och sedan köra denna kod? Det jag vill slippa är ju att spara en fil på, låt säga, 350 kB. Den ska komprimeras/beskäras, och sedan sparas...

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

## #7 — Pace, 2007-08-30T15:31Z

System.Drawing.Image.FromFile(filename) är till för filer på servern. Det fungerar förmodligen eftersom klient och server är samma maskin på din egen dator.

Använd System.Drawing.Image.FromStream(stream) för att hämta från egenskapen HttpPostedFile.InputStream.

Alltså:

```
Dim i As System.Drawing.Image = System.Drawing.Image.FromStream(filePicture.PostedFile.InputStream)
```

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

## #8 — k0ffe, 2007-08-30T16:20Z

Grymt! Fungerar hur bra som helst!

TACK!

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

## #9 — Gladh, 2007-08-30T20:13Z

> **pace skrev:**
>
> Det fungerar förmodligen eftersom klient och server är samma maskin på din egen dator.

Aaaaahhh, så trög jag är, klart som sören att det fungerar på hans maskin, han får ju samma sökväg till filen som den han laddar upp... 

\- M

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

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/164013-bilduppladdning-säkerhetsfel
