webForumDet fria alternativet

ASPSmartUpload nr. 2

ASPur ASP

12 svar · 268 visningar · startad av trexter

trexterMedlem sedan mars 20021 889 inlägg
#1

Jag använder ASPSU för att ladda upp bilder.
Mitt problem är att jag ibland inte kan uppdatera bilden så som jag vill.

Filen skrivs inte över utan i stället skapas en annan fil utan filändelse, så att jag får två filer.
Enligt ASPSU:s hemsida sparar SaveAs ALLTID över den befintliga filen, alltså verkar det ltie konstigt.
Rättigheterna verkar vara rätt inställda

Koden är följande:

SessionUsername = Session("Username")

If Request.QueryString("WhatToDo") = "UploadFile" Then
   On Error Resume Next

'  Skapar objekt
   Set mySmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
   
'  In med filändelsen i en variabel
   FileExt = mySmartUpload.files.item(1).FileExt

'  Bestämmer vilka filformat som ska tillåtas
   mySmartUpload.AllowedFilesList = "gif,jpg"

'  Neka fysisk sökväg
   mySmartUpload.DenyPhysicalPath = False

'  Är filen för stor?
if Request.ServerVariables("CONTENT_LENGTH") < 200000 then
'  Ladda upp
   mySmartUpload.Upload
   
'  Spara filen på webbservern med ett speciellt namn.
   mySmartUpload.files.item(1).SaveAs "/gdc/images/mempics/" & SessionUsername & "." & FileExt

'  Ta bort gammal bild
   StrPathGif = "C:\Inetpub/wwwroot/gdc/images/mempics/"& SessionUsername &".gif"  
   StrPathJpg = "C:\Inetpub/wwwroot/gdc/images/mempics/"& SessionUsername &".jpg" 
   Set filesys = CreateObject("Scripting.FileSystemObject")   
   If FileExt = "gif" Then
		If filesys.FileExists(StrPathJpg) Then filesys.DeleteFile StrPathJpg
   End If
   If FileExt = "jpg" Then
		If filesys.FileExists(StrPathJpg) Then filesys.DeleteFile StrPathGif
   End If
else
   ErrorSize = True
end if
   
'  Felhantering
   If Err Then
		Error = True
   Else
		Error = False
   End If

UploadFile = "yes"
End If

och lite längre ner på sidan:

'Skriver ut text som berättar hur filuppladdningen gick.
If UploadFile = "yes" AND ErrorSize = True Then
	Response.Write "Filen för stor."
Else
	If UploadFile = "yes" AND Error = False Then Response.Write "Din nya bild är nu uppladdad."
	If UploadFile = "yes" AND Error = True Then Response.Write "Uppladdningen misslyckades. Dina filer måste ha filändelsen gif eller jpg." <---- meddelandet jag får	
End If

Hoppas någon kan hjälpa mig med problemet. Säg även till om ni ser några andra förbättringar jag skulle kunna göra i min kod.

Förresten; riktigt skönt att wF är tillbaka!!!

:)

trexterMedlem sedan mars 20021 889 inlägg
#2

Någon som helt säkert kan säga att felet inte ligger i koden?

:)

aleborgMedlem sedan jan. 20013 341 inlägg
#3

C:\Inetpub/wwwroot/gdc/images/mempics/
borde väl vara
C:\Inetpub\wwwroot\gdc\images\mempics\

trexterMedlem sedan mars 20021 889 inlägg
#4

Jo, det stämmer, tack.
Men felet är fortfarande det samma.

:)

trexterMedlem sedan mars 20021 889 inlägg
#5

Hmm... har upptäckt att så fort jag försöker ändra rättigheterna på mappen så ändras de tillbaka igen när jag stänger fönstret.

Någon?

:q

trexterMedlem sedan mars 20021 889 inlägg
#6

Ingen? Och jag som har bråttom också. :(

;)

trexterMedlem sedan mars 20021 889 inlägg
#7

Slänger in tre bilder på hur det ser ut också så slipper ni läsa mina dåliga förklaringar. ;)



:)

aleborgMedlem sedan jan. 20013 341 inlägg
#8

http://member.webforum.nu/3319/3.gif
Borde väl ha skrivrättigheter samt kunna skapa filer???

trexterMedlem sedan mars 20021 889 inlägg
#9

Exakt, men om jag kryssar för fär och sedan trycker "apply".. vipps! Tillbaka på ruta ett och jag har inte några rättigheter.

:l

SirPeterMedlem sedan feb. 200115 571 inlägg
#10

Det är väl inte direkt smart att låta kontot "Everyone" ha fullständiga rättigheter i de där mapparna va. ;)
Ställ om så att kontot IUSR_Datornamn har rättigheterna Modify, Read & Execute, List folder Contents, Read och Write så bör det funka.
Dessutom bör du bocka bort så att mappen inte ärver sina rättigheter från ovanliggande mapp eller enhet.

trexterMedlem sedan mars 20021 889 inlägg
#11

SirPeter skrev:

Det är väl inte direkt smart att låta kontot "Everyone" ha fullständiga rättigheter i de där mapparna va. ;)
Ställ om så att kontot IUSR_Datornamn har rättigheterna Modify, Read & Execute, List folder Contents, Read och Write så bör det funka.
Dessutom bör du bocka bort så att mappen inte ärver sina rättigheter från ovanliggande mapp eller enhet.

För det första så spelar det väl ingen roll om everyone har alla de där rättigheterna så länge jag inte har en applikation som tillåter dem att t.ex. ta bort filer?
Men, men, det andra är säkert ett bättre alternativ. Men kan du förklara hur jag ställer om IUSR och det andra?

:)

SirPeterMedlem sedan feb. 200115 571 inlägg
#12

Börja med att ta bort bocken så att mappen inte ärver rättigheter. När du gör det så får du välja om du vill ta bort eller kopiera rättigheterna från mappen eller enheten som ligger över den du håller på med. Oavsett vad du väljer så fortsätter du med att lägga till eller ta bort så att Administratören får fullständiga rättigheter och dessutom lägger du till kontot IUSR_Datornamn och ställer in rättigheterna så som jag skrev ovan.

trexterMedlem sedan mars 20021 889 inlägg
#13

Tack för förklaringen men tyvärr så verkar det inte hjälpa.
Hmm..

:)

425 ms totalt · 3 externa anrop · v20260731065814-full.29ac60f6
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
421 ms — hämta tråd, inlägg och bilagor (db)