webForumDet fria alternativet

dimac upload + SaveAsUniqueFile

ASPur ASP

10 svar · 254 visningar · startad av doggelito

Medlem sedan juni 20003 076 inlägg
Frågan#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.

------------------
Motto: Flest If-taggar vinner!

Medlem sedan mars 20015 287 inlägg
#2

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

Medlem sedan juni 200032 967 inlägg
#3

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,

Medlem sedan juni 20003 076 inlägg
#4

tack solbulle men @nders variant vinner.
jag kommer nämligen använda olika längder på filändelserna. thanx!!!

------------------
Motto: Flest If-taggar vinner!

Medlem sedan juni 20003 076 inlägg
#5

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!

Medlem sedan juni 200032 967 inlägg
#6

Och din bortkommenterade response.write skriver vad till browsern?

Exakt hur ser felmeddelandet ut?

Medlem sedan juni 20003 076 inlägg
#7

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!

Medlem sedan okt. 20005 273 inlägg
#8
INSERT INTO Thumbnails (Folderlink, [Size]) VALUES (ringfade.tif, 1021292)

kanske hjälper :)

mvh icaaq

------------------
-::| a tribute to LarsG |::-

Medlem sedan juni 200032 967 inlägg
#9

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,

Medlem sedan dec. 200012 464 inlägg
#10

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

Medlem sedan juni 20003 076 inlägg
#11

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!

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