monAmourMedlem sedan dec. 2002258 inlägg Hej nu ger jag upp på det här upload skriptet.
Fattar inte varför det inte fungerar.
Har sökt forumet också och läst massa trådar men får inget svar på mitt problem.
Använder nedanstående för att ladda upp 2 filer till mappen "store" som ligger på samma nivå som skriptet alltså:
/root/skript.asp 'ska köra uppladdningen
/root/store 'i mappen store ska allt sparas
Som jag förstått det är det något fel med min sökväg till mappen i Upload.Save skedet.
Tycker dock att jag följt manualens exempel. Har länkat enda ned från www-roten. Vilken stämmer och är korrekt.
Vad ska jag göra?
<%
'Connect to database file
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("showreal.mdb") & ";"
'Upload files and create new db post
Set Upload = Server.CreateObject("Persits.Upload.1")
Upload.SetMaxSize 5000000, True
Upload.OverwriteFiles = False
'Do upload
Upload.Save("g:\home\albrektson.tv\html\atv\showreal\store")
Sql = "Insert Into showreal Values(0,'" & Upload.Files("movieclip") & "','" & Upload.Files("thumbimg") & "','" & Upload.Form("description") & "',Now())"
Conn.Execute(Sql)
Conn.Close
Set Conn = Nothing
Response.Redirect("showreal.asp")
%>
monAmourMedlem sedan dec. 2002258 inlägg Kan tillägga att felmeddelandet ser ut så här:
Persits.Upload.1 error '800a0005'
The system cannot find the file specified.
/atv/showreal/upload.asp, line 13
Och rad 13 är just Upload.Save......
@ndersMedlem sedan juni 200032 969 inlägg Har du provat att använda Server.Mappath() istället för att hårdkoda sökvägen?
(Är g: en hårddisk på samma maskin eller är det en nätverksenhet?)
monAmourMedlem sedan dec. 2002258 inlägg Har testat server.mappath men med samma resultat.
G:\ vet jag inte om det är en disk eller nätverksenhet.. ligger på webbhotellet. ända jag vet är att de i mina konfigurationspapper står att sökvägen från rooten ser ut så
monAmourMedlem sedan dec. 2002258 inlägg Så nu har jag fått själva uppladdningen att fungera, det var något strul med skrivrättigheterna på mappen.
Dock får jag ett error nu när jag ska försöka ta ut namnet på filerna jag laddat upp samt formulär fältet "description" som jag vill lägga till i min access databas.
Använder följande nu:
<%
'Connect to database file
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("showreal.mdb") & ";"
'Upload files and create new db post
Set Upload = Server.CreateObject("Persits.Upload.1")
Upload.SetMaxSize 5000000, True
Upload.OverwriteFiles = True
'Do upload
Upload.Save("g:\home\albrektson.tv\html\atv\showreal\store")
Set Description = Upload.Form("description")
Set MovieFile = Upload.Files("movieclip")
Set ThumbFile = Upload.Files("thumbimg")
Sql = "Insert Into showreal(movieclip,thumbimg,description,timestamp) Values('" & MovieFile & "','" & ThumbFile & "','" & Description & "',Now())"
Conn.Execute(Sql)
Conn.Close
Set Conn = Nothing
Response.Redirect("showreal.asp")
%>
och jag får följande felmeddelande:
Microsoft VBScript runtime error '800a01b6'
Object doesn't support this property or method
/atv/showreal/upload.asp, line 19
och rad 19 är raden där jag skapar min databasquery med variabeln "Sql".
@ndersMedlem sedan juni 200032 969 inlägg Ta bort set när du skapar variablerna. Set använder du när du instansierar objekt, inte annars.
monAmourMedlem sedan dec. 2002258 inlägg Aha tack, måste kikat på ett dåligt kod exempel :D
monAmourMedlem sedan dec. 2002258 inlägg Nu funkar uploaden perfekt, och jag hämtar variablerna (filnamnen + formfältets värde).
Dock verkar SQL:en strula nu, använder följande:
Sql = "Insert Into showreal (movieclip,thumbimg,description,timestamp) Values('" & MovieFile & "','" & ThumbFile & "','" & Description & "','" & Now() &"')"
Vilket resulterar i följande när jag skriver ut strängen Sql:
Insert Into showreal (movieclip,thumbimg,description,timestamp) Values('flatscreen.jpg','micke.jpg','asdf asdf asdf','2004-05-09 09:42:47')
Borde inte detta funka även med Access? Får följande error meddelande:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC Microsoft Access Driver] Syntax error in INSERT INTO statement.
/atv/showreal/upload.asp, line 21
Help again please!
@ndersMedlem sedan juni 200032 969 inlägg Timestamp är ett reserverat ord. Byt namn på fältet.
monAmourMedlem sedan dec. 2002258 inlägg Tack @anders, nu får jag inget syntax error längre. Dock ett annat ogrundligt felmeddelande...!?
Ser ut så här:
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Microsoft Access Driver] Operation must use an updateable query.
/atv/showreal/upload.asp, line 22
Vad betyder detta?
Min Query ser ut så här nu efter att ha döpt om timestamp fältet:
'I kod
Sql = "Insert Into showreal (movieclip,thumbimg,description,tstamp) Values('" & MovieFile & "','" & ThumbFile & "','" & Description & "',#" & Now() & "#)"
'Uskriven
Insert Into showreal (movieclip,thumbimg,description,tstamp) Values('flatscreen.jpg','micke.jpg','asdf asdf asdf',#2004-05-09 10:17:11#)
@ndersMedlem sedan juni 200032 969 inlägg Då har du fel rättigheter satta på mappen databasen ligger i. Ligger det på ett webhotell så ligger databasen i en mapp som inte är avsedd för det.
monAmourMedlem sedan dec. 2002258 inlägg Hmmm? Ska mappen ha skrivrättigheter alltså?
@ndersMedlem sedan juni 200032 969 inlägg Det måste vara rättigheter satta på mappen som tillåter att det anonyma internet-gästkontot får skriva och skapa filer. Du bör ha en sådan mapp i ditt konto på webbhotellet, som är avsedd för Access-databaser.
monAmourMedlem sedan dec. 2002258 inlägg Så har fixat det nu, fick ge mappen och filen skrivrättigheter så ordnade det sig!
Tack för all hjälp med dessa kryptiska error meddelanden :D