Inte för att jag vet om det duger, för mig fungerar det.
filtyp = Right(fileName,3)
------------------
/solbulle
Hemmabio | Spelautomater | The Who | The Who II
10 svar · 254 visningar · startad av doggelito
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.
------------------
Motto: Flest If-taggar vinner!
Inte för att jag vet om det duger, för mig fungerar det.
filtyp = Right(fileName,3)
------------------
/solbulle
Hemmabio | Spelautomater | The Who | The Who II
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!!!
------------------
Motto: Flest If-taggar vinner!
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)
------------------
Motto: Flest If-taggar vinner!
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)
------------------
Motto: Flest If-taggar vinner!
INSERT INTO Thumbnails (Folderlink, [Size]) VALUES (ringfade.tif, 1021292)
kanske hjälper :)
mvh icaaq
------------------
-::| a tribute to LarsG |::-
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,
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.
------------------
essentitia preter non sans multiplicandum
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! :)
------------------
Motto: Flest If-taggar vinner!