Avatar billede _basil Nybegynder
04. august 2006 - 14:58 Der er 6 kommentarer og
1 løsning

Filupload rettigheder

Hej eksperter.

Jeg har lavet et site hvor mine brugere (dvs 1 bruger) skal kunne lægge lidt billeder op.. Det hele virker lokalt, men når jeg forsøger at lægge sitet op til vores host (unoeuro) og derefter forsøger at uploade en fil får jeg følgende fejl:
Access to the path 'd:\XXXXXXX\Galleries\Billeder af Cia\IMG_8990.JPG' is denied

Jeg går ud fra det er et spørgmål om rettigheder, men hvordan løser jeg dette?
Avatar billede arne_v Ekspert
04. august 2006 - 15:39 #1
giver rettigheder

:-)

det vigtige spoergsmaal er her: hvilket brugernavn koerer ASP.NET koden under
Avatar billede _basil Nybegynder
04. august 2006 - 17:51 #2
Hvordan kan jeg give en mappe rettigheder når den ligger ved Unoeuro??
Nogen der har erfaringer med dette?
Avatar billede innercitydk Nybegynder
05. august 2006 - 11:23 #3
Måske er det fordi du prøver at tilgå mappen på dens statiske sti.. Prøv istedet med Server.MapPath:

//Eksempel
Server.MapPath("Galleri//");
Avatar billede _basil Nybegynder
05. august 2006 - 13:21 #4
Jeg har lige rodet lidt videre med det. Jeg har fundet ud af at jeg ikke engang kan oprette nye mapper.. Jeg poster lige den kode jeg har brugt:

        string catName = e.Values[0].ToString();
        string dirPath = Server.MapPath("~/Galleries/" + catName);
        //DirectorySecurity dir = new DirectorySecurity();
        //FileSystemAccessRule fr = new FileSystemAccessRule("ASPNET", FileSystemRights.FullControl, AccessControlType.Allow);
        //dir.AddAccessRule(fr);
        if (!Directory.Exists(dirPath))
        {
            Directory.CreateDirectory(dirPath);
        }

Som det kan ses har jeg udkommenteret noget kode hvor jeg har forsøgt at give nogle rettigheder på mappen, men det virker stadig ikke?

Gør jeg noget galt eller er det ved unoeuro fejlen ligger? Kan det egentlig tænkes at Unoeuro slet ikke vil tillade ovenstående?
Avatar billede thrytter Nybegynder
05. august 2006 - 14:05 #5
Prøv at tilføje

<identity impersonate="true" />

til din web.config (i <system.web>)
Avatar billede innercitydk Nybegynder
05. august 2006 - 14:16 #6
Alternativt, for at undgå at skulle oprette mapper, kan du lave virtuelle gallerier i en database. F.eks en tabel der hedder galleries, og en tabel der hedder pictures. Hver gang der uploades et billede indsættes stien så i pics, sammen med en fremmednøgle der refererer til primærnøglen i galleries tabellen så ét billede hører til ét bestemt galleri.

Eks:

Galleries
----------
id - integer (Primær nøgle)
navn - string (Navn på specifikt galleri)
beskrivelse - string (Beskrivelse af galleriet)

Pics
----------
picId - integer (Primær nøgle)
galRef - integer (Fremmednøgle fra Galleries.id)
sti - string (stien i webroden hvor billedet ligger placeret)

Det kan selvfølgelig udvides og tilpasses til det du skal bruge det til, men hvis det andet du prøver på overhovedet ikke kan lade sig gøre er det en mulighed.

Vh
Avatar billede _basil Nybegynder
05. august 2006 - 14:34 #7
Løsningen var identity impersonate :) Jeg siger mange tak:)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester