webForumDet fria alternativet

Form->AspSmartUpload

ASPur ASP

19 svar · 498 visningar · startad av Mika3l

Medlem sedan nov. 20018 492 inlägg
Frågan#1

Vad ska man skriva istället för Request() när man ska hämta värden från ett formulär som skickas med enctype="multipart/form-data"?
Jag har testat med SmartUpload.Form.Item("name").Name men då får jag felmeddelanden för att det inte finns något värde.

ElseIf Request("page") = "addpic" Then
'######################################## FORMULÄR FÖR ATT LADDA UPP BILDER
Response.Write("<form method=""post"" action=""admin_pictures.latmask?page=picupload"" enctype=""multipart/form-data"">")
Response.Write("640x480px-bild: <input type=""file"" name=""pic""><br>")
Response.Write("Namn: <input type=""text"" name=""name""><br>")
Response.Write("Datum då bilden togs: <input type=""text"" name=""date_tooked""><br>")
Response.Write("Beskrivning:<br><textarea name=""desc"" style=""width: 250px; height: 75px;""></textarea><br>")
SQL = "SELECT cat FROM picture_cats ORDER BY cat"
Set rs = Connection.Execute(SQL)
If NOT rs.EOF Then
Response.Write("Kategori: <select name=""cat"">")
Do Until rs.EOF
Response.Write("<option value=" & rs("cat") & ">" & rs("cat") & "</option>")
rs.MoveNext
Loop
Response.Write("</select><br><br style=""line-height: 4px;"">")
End If
rs.Close
Set rs = Nothing
Response.Write("<input type=""submit"" value=""  Ladda upp!  "">")
Response.Write("</form>")

ElseIf Request("page") = "picupload" Then
'######################################## LADDA UPP BILDERNA
Dim SmartUpload
Dim S
Set SmartUpload = CreateObject("aspSmartUpload.SmartUpload")
name = SmartUpload.Form.Item("name").Name
desc = Trim(Request("desc"))
date_tooked = Trim(Request("date_tooked"))
date_upload = date()
cat = Trim(Request("cat"))
SQL = "INSERT INTO pictures([name],[desc],date_tooked,date_upload,cat) VALUES('" & name & "','" & desc & "','" & date_tooked & "'," & date_upload & ",'" & cat & "')"
Connection.Execute(SQL)
Set rs = Connection.Execute("SELECT @@IDENTITY")
id = rs(0)
filename = id+".jpg"
SmartUpload.Upload
S = SmartUpload.Save(Server.MapPath("../gallery/" & filename))
Set J = Server.CreateObject("JpegLib.cJpeg")
J.Load(Server.MapPath("../gallery/" & filename))
If J.Width > 0 then
'File loaded correctly
J.SaveModified 90,0,Server.MapPath("../gallery/thumbnails/t_" & filename),68
End If
Set J = Nothing
Upload = Nothing
rs.Close
Set rs = Nothing
SmartUpload = Nothing
Response.Write("weeeeeee")

Hittar ni några fler fel så säg gärna till. ;)

Medlem sedan juni 200032 967 inlägg
#2

Enligt dokumentationen skall man använda uploadobjektet.form("fjuk").

mvh

Medlem sedan nov. 20018 492 inlägg
#3

Det fungerade inte för mig. :o :l :(
Jag får fortfarande inget värde till min variabel(name)... :l

Medlem sedan juni 200032 967 inlägg
#4

Du måste köra metoden Upload innan du kan använda Form.

mvh,

Medlem sedan nov. 20018 492 inlägg
#5

Nu får jag felmeddelandet:
aspSmartUpload (0x800A005B)
Object variable or With block variable not set

ElseIf Request("page") = "picupload" Then
'######################################## LADDA UPP BILDERNA
Dim SmartUpload
Dim S
Set SmartUpload = CreateObject("aspSmartUpload.SmartUpload")
[blue]SmartUpload.Upload 'Här ska det tydligen vara fel[/blue]
name = SmartUpload.Form("name")
desc = Trim(Request("desc"))
date_tooked = Trim(Request("date_tooked"))
date_upload = date()
cat = Trim(Request("cat"))
SQL = "INSERT INTO pictures([name],[desc],date_tooked,date_upload,cat) VALUES('" & name & "','" & desc & "','" & date_tooked & "'," & date_upload & ",'" & cat & "')"
Connection.Execute(SQL)
Set rs = Connection.Execute("SELECT @@IDENTITY")
id = rs(0)
filename = id+".jpg"
S = SmartUpload.Save(Server.MapPath("../gallery/" & filename))
Set J = Server.CreateObject("JpegLib.cJpeg")
J.Load(Server.MapPath("../gallery/" & filename))
If J.Width > 0 then
'File loaded correctly
J.SaveModified 90,0,Server.MapPath("../gallery/thumbnails/t_" & filename),68
End If
Set J = Nothing
Upload = Nothing
rs.Close
Set rs = Nothing
SmartUpload = Nothing
Response.Write("weeeeeee")

Jag antar att det är för att jag inte har S = SmartUpload.Save(Server.MapPath("../gallery/" & filename)) direkt efter, men jag måste ju få in allt i databasen först för jag ska ju spara bilden med det idt som posten i databasen har...

*Förvirrad* :-S

Medlem sedan juni 200032 967 inlägg
#6

Borde det inte vara Server.Createobject när du skapar ditt uploadobjekt?

Medlem sedan nov. 20018 492 inlägg
#7

Nu fungerade det bättre. :)
Nu får jag dock problem när jag ska spara filen. :l

aspSmartUpload.File (0x80040460)
Unable to save file (Error 1120)

ElseIf Request("page") = "picupload" Then
'######################################## LADDA UPP BILDERNA
Dim SmartUpload
Dim S
Set SmartUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
SmartUpload.Upload
name = SmartUpload.Form("name")
desc = SmartUpload.Form("desc")
date_tooked = SmartUpload.Form("date_tooked")
date_upload = date()
cat = SmartUpload.Form("cat")
SQL = "INSERT INTO pictures([name],[desc],date_tooked,date_upload,cat) VALUES('" & name & "','" & desc & "','" & date_tooked & "'," & date_upload & ",'" & cat & "')"
Connection.Execute(SQL)
Set rs = Connection.Execute("SELECT @@IDENTITY")
id = rs(0)
filename = id
[blue]S = SmartUpload.Save(Server.MapPath("../gallery/" & filename & ".jpg")) 'Här är det fel![/blue]
Set J = Server.CreateObject("JpegLib.cJpeg")
J.Load(Server.MapPath("../gallery/" & filename & ".jpg"))
If J.Width > 0 then
'File loaded correctly
J.SaveModified 90,0,Server.MapPath("../gallery/thumbnails/t_" & filename & ".jpg"),68
End If
Set J = Nothing
Upload = Nothing
rs.Close
Set rs = Nothing
SmartUpload = Nothing
Response.Write("weeeeeee")
Medlem sedan juni 200032 967 inlägg
#8

Har du sett till att IUSR_xxx har rättighet att skapa filer och skriva i mappen?

Medlem sedan feb. 200112 078 inlägg
#9

Är du säker på att du är i rätt mapp? Skriv ut sökvägen. Sen undrar jag varför du tilldelar variabeln S värdet som returneras av .Save-metoden, måste du det och returnerar den verkligen något?

Medlem sedan nov. 20018 492 inlägg
#10

@ skrev:

Har du sett till att IUSR_xxx har rättighet att skapa filer och skriva i mappen?

Rättigheterna ska vara rätt. :)

OveRRide skrev:

Är du säker på att du är i rätt mapp? Skriv ut sökvägen. Sen undrar jag varför du tilldelar variabeln S värdet som returneras av .Save-metoden, måste du det?

Mappen är rätt. :)
S skrev jag istället för intCount som det stod i exempelkoden...

Medlem sedan mars 20015 287 inlägg
#11

Måste verkligen säga att det med största sannolikhet ÄR ett rättighetsproblem.

Medlem sedan juni 200032 967 inlägg
#12

solbulle skrev:

Måste verkligen säga att det med största sannolikhet ÄR ett rättighetsproblem.

Jo, jag är nästan villig att sätta en peng på det också. Jag har jobbat en hel del med aspsmartupload, och har endast fått det felmeddelandet när jag glömt sätta rättigheter på uploadmappen till IUSR_xxx. Så jag och solbulle beordrar en dubbelkoll! :)

Medlem sedan mars 20015 287 inlägg
#13

He he :)

Medlem sedan nov. 20018 492 inlägg
#14

Nu är jag tillbaka igen. ;)
Så här ser mina mappar ut:

"huvudmapp"---------|
|
--------------------------------
| | | |
admin gallery db V1
|
thumbnails

I admin-mappen har jag filerna som jag ska spara ner bilden med(admin_pictures.asp) i mappen gallery.
Rättigheterna är satta så här på huvudmappen:
Läsbehörighet
Skrivbehörighet
Script och körbara filer
Utdelad i nätverket

Är inte dom inställningarna rätt? :o

Såg att wF inte ville skriva ut "mappkartan" på rätt sätt så ni får fantisera. ;)

Medlem sedan juni 200032 967 inlägg
#15

Du har satt tillräckliga rättigheter i filsystemet? Det är lite viktigt.

Medlem sedan nov. 20018 492 inlägg
#16

Vad menar du med det? :p :)

Medlem sedan juni 200032 967 inlägg
#17

Att IIS-inställningarna i stort sett är skit samma. Det är NTFS-rättigheterna som är viktiga.

Ungefär samma inställningar som du gör på den mapp du lägger dina databaser i, alltså RXWD på mappen.

Medlem sedan nov. 20018 492 inlägg
#18

Vart ställer man in NTFS-rättigheterna då?

Har aldrig behövt ändra dom rättigheterna förut så jag kommer nog inte förstå allt du säger. ;)

Medlem sedan juni 200032 967 inlägg
#19

Hmm. Har du aldrig gjort inställningar för Accessdatabaser? Oh well... Prova:

@nders_har_skrivit_tusen_gånger_förut skrev:

Om du använder Windows XP, måste du se till att avaktivera Förenklad fildelning. Det gör du genom att i windows-utforskaren gå till menyn Verktyg -> Mappalternativ och sedan till fliken Visning. I listan finns alternativet ”Använd förenklad fildelning”. Se till att rutan inte är förbockad. Klicka OK.

I utforskaren, högerklicka på mappen där filen ligger, välj Egenskaper, och sedan fliken Säkerhet. Om inte användarkontot IUSR_datornamn finns med i listan, klicka på knappen Lägg till och fyll i det i rutan. Är det bara en fil det handlar om kan du göra det direkt på den filen istället för på mappen.

Markera användarkontot IUSR_datornamn i listan och se till så följande rättigheter är markerade: Ändra, Läsa och köra, Läsa, och Skriva.

Detta är visserligen skrivet för att se till att du har rätt inställningar för att kunna använda databaser fullt ut.

mvh,

Medlem sedan nov. 20018 492 inlägg
#20

Nu har jag försökt att göra så som du skrev och har nu lagt till IUSR_mk och har gett den Full behörighet men det fungerar inte, samma felmeddelande. :l
Jag har även testat med full behörighet på alla andra konton...

142 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
139 ms — hämta tråd, inlägg och bilagor (db)