webForumDet fria alternativet

fel vid uppladdning av fil

.NET

16 svar · 411 visningar · startad av Mc Fetto

Medlem sedan nov. 20022 355 inlägg
Frågan#1

Har ett enkelt gränssnitt för att ladda upp filer till servern. När man valt fil och sedan väljer att ladda upp kommer det felmedelande om rättigheter, vilket jag är urdålig på att tolka!

felmed:

 Access to the path "c:\inetpub\wwwroot\WebApplication3\dbSkivSamling.mdb" is denied. 
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.UnauthorizedAccessException: Access to the path "c:\inetpub\wwwroot\WebApplication3\dbSkivSamling.mdb" is denied. 

ASP.NET is not authorized to access the requested resource. Consider granting access rights to the resource to the ASP.NET request identity. ASP.NET has a base process identity (typically {MACHINE}\ASPNET on IIS 5 or Network Service on IIS 6) that is used if the application is not impersonating. If the application is impersonating via <identity impersonate="true"/>, the identity will be the anonymous user (typically IUSR_MACHINENAME) or the authenticated request user. 

To grant ASP.NET write access to a file, right-click the file in Explorer, choose "Properties" and select the Security tab. Click "Add" to add the appropriate user or group. Highlight the ASP.NET account, and check the boxes for the desired access.

i koden:

Line 68: 			//Label1.Text = tempStr.Remove(0,3);
Line 69: 			// Save uploaded file to server
Line 70: 			MyFile.PostedFile.SaveAs("c:\\inetpub\\wwwroot\\WebApplication3\\" +tempStr.Remove(0,3));
Line 71: 		}
Line 72: 	}

Någon som har koll på vad det är som är fel och hur man kan åtgärda detta?

Medlem sedan sep. 20026 425 inlägg
#2

Du har helt enkelt inte skrivrättigheter i den mappen. Du får högerklicka på mappen och klicka dig fram till rättigheter. Jag kommer inte ihåg exakt var allting ligger.

Medlem sedan jan. 20012 204 inlägg
#3

Att tänka på sen är att använda Server.Mappath() om du ska ha upp den på serverhotellet. Finns även funtioner för att ta bort filändelser, plocka ut dem etc, i någon klass som jag inte kommer ihåg vad den heter.

Medlem sedan nov. 20022 355 inlägg
#4

Tackar, ska jag alltså använda Server.Mappath() istället för PostedFile.SaveAs() när jag ska lägga upp det på ett hotell?

Medlem sedan dec. 19998 577 inlägg
#5

Mc Fetto skrev:

Tackar, ska jag alltså använda Server.Mappath() istället för PostedFile.SaveAs() när jag ska lägga upp det på ett hotell?

Nej, du använder Server.Mappath() för att får reda på den fysiska sökvägen, så att du inte behöver skriva in den statiskt.

PostedFile.SaveAs() måste du också ha om du vill spara filen. ;)

Medlem sedan nov. 20022 355 inlägg
#6

Aha, då förstår jag. Får inte rättigheterna att fungera, någon som har ett utförligare svar!?

Medlem sedan sep. 20026 425 inlägg
#7

Alltså, du högerklickar på din webbmapp och väljer egenskaper. Sen ska det finnas en flik där som heter något i stil med användarrättigheter eller nåt sånt. Under den fliken kan du sedan ställa in rättigheter för ditt konto på datorn. Se till så att du har allt ifyllt. :)

Medlem sedan nov. 20022 355 inlägg
#8

Hehe, det var inte det som var felet... när jag använde Server.Mappath() fungerade det!!

r/ glömde ju tacka :)

Medlem sedan nov. 20022 355 inlägg
#9

P skrev:

Att tänka på sen är att använda Server.Mappath() om du ska ha upp den på serverhotellet. Finns även funtioner för att ta bort filändelser, plocka ut dem etc, i någon klass som jag inte kommer ihåg vad den heter.

Någon annan som kommer ihåg vilken klass detta kan ha varit i och vilka funktioner det är?

Medlem sedan juni 20022 599 inlägg
#10

Det finns ett gäng statiska metoder under System.IO.Path.

Medlem sedan nov. 20022 355 inlägg
#11

Tackar :)

Medlem sedan nov. 20022 355 inlägg
#12

Har nu laggt upp en testsida på ett hotell, när jag loggar in så läses en xml fil och det fungerar finfint. Problemet är när jag vill ladda upp filer och när jag vill lägga till data i xml-filen (allt fungerade lokalt tidigare).

Jag använder mig av: HttpContext.Current.Server.MapPath("\\")

Kan det vara så att man inte har rättighet att skriva i filer och ladda upp? Är det vanligt?

Medlem sedan juni 20022 599 inlägg
#13

Jag använder mig av: HttpContext.Current.Server.MapPath("\\")

Fast du borde väl använda Server.MapPath("/directory/filnamn") eller Server.MapPath("./filnamn"). Backslashar (Windowssökvägar) borde ge dig ett run-time error?

Medlem sedan nov. 20022 355 inlägg
#14

Vet inte hur det är med det, men jag använder mig av samma sätt vid både läsningen och skrivningen! Ska dock prova ditt tips! :)

Medlem sedan jan. 20012 204 inlägg
#15

Server.Mappath("*") kanske?

Medlem sedan nov. 20022 355 inlägg
#16

Det blir tokfel då! Kompilatorn säger att det är otillåtet tecken.

Medlem sedan sep. 20011 914 inlägg
#17

Om du använder nedan kod, har jag för mig, så kommer du ner till rooten och kan sen utgå därifrån.

Server.MapPath("~/[i]directory/filnamn[/i]")
262 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)