Trådstart 30 jan. 2002 14:01 #1 Tjena!
Nån som har någon bra idé på hur man kan få ut filändelsen på en fil?
Har denna kod:
SET w3u = Server.CreateObject("w3.upload")
SET bild = w3u.form("bild")
fileName = bild.fileName
fileName = bild.SaveAsUniqueFile(Server.MapPath("/Pictures/picture.jpg"))
men skulle vilja ha typ:
SET w3u = Server.CreateObject("w3.upload")
SET bild = w3u.form("bild")
fileName = bild.fileName
filtyp = någon_riktigt_smart_kod_som_plockar_ut_filändelsen
fileName = bild.SaveAsUniqueFile(Server.MapPath("/Pictures/picture." & filtyp & "))
Alltså, skickar man upp en jpg-bild så ska nästa jpg-bild heta picture(2).jpg osv.
Lika om man skickar upp en tif-bild så ska den heta picture.tif, picture(2).tif osv.
S solbulle Medlem sedan mars 2001 5 287 inlägg Inte för att jag vet om det duger, för mig fungerar det.
filtyp = Right(fileName,3)
@nders Medlem sedan juni 2000 32 967 inlägg Det duger bra, för det mesta. Dock kan ju filer ha ändelser med fyra bokstäver. (ex. jpeg, mpeg)
Jag hade därför gjort så här:
filtyp = right (fileName, len(fileName)-instrRev(fileName,"."))
Mvh,
tack solbulle men @nders variant vinner.
jag kommer nämligen använda olika längder på filändelserna. thanx!!!
satans asp!
får inte till sida hur jag än vrider och vänder på den, hjälp...
dim w3u, bild, filename, filtyp, filesize, strsql, conn, Malmconn
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open Malmconn
SET w3u = Server.CreateObject("w3.upload")
SET bild = w3u.form("bild")
filename = bild.filename
filtyp = right(filename, len(filename)-instrRev(filename,"."))
filesize = bild.Size
bild.SaveAsUniqueFile(Server.MapPath("/Pictures/picture." & filtyp))
strsql = "INSERT INTO Thumbnails (Folderlink, Size) VALUES ('" & filename & "', " & filesize & ")"
conn.Execute strsql,,128
'Response.Write strsql
conn.Close()
Set conn = Nothing
jag får syntax error på insert-raden vad jag än gör.
databasen är en gammal, trött, sur, grinig access-databas.
(Fälten: folderlink=text, size=tal)
@nders Medlem sedan juni 2000 32 967 inlägg Och din bortkommenterade response.write skriver vad till browsern?
Exakt hur ser felmeddelandet ut?
felmeddelande:
Microsoft JET Database Engine error '80040e14'
Syntax error in INSERT INTO statement.
/Admin/Pages/Upload_done.asp, line 17
response:
INSERT INTO Thumbnails (Folderlink, Size) VALUES (ringfade.tif, 1021292)
I icaaq Medlem sedan okt. 2000 5 273 inlägg INSERT INTO Thumbnails (Folderlink, [Size]) VALUES (ringfade.tif, 1021292)
kanske hjälper
mvh icaaq
@nders Medlem sedan juni 2000 32 967 inlägg Hmm...
Är du säker?
för i din SQL-fråga har du apostrofer runt filnamnet, precis som du ska:
strsql = "INSERT INTO Thumbnails (Folderlink, Size) VALUES ('" & filename & "', " & filesize & ")"
Sen har de bara försvunnit.
Det bör du kolla upp...
Mvh,
L LarsG Medlem sedan dec. 2000 12 464 inlägg Den strängen stämmer inte med den kod som du visade.
I koden har du med apostrofer omkring filnamnet men det saknas i strängen.
jag höll på och testade lite olika varianter, därför råkade det bli både med och utan apostrofer.
Men det gör inget nu! isaaq löste lämligen problemet åt mig, stort tack å bock!