Byt --> Set MyFile = ScriptObject.CreateTextFile(Server.mappath("/ivica1/bilder/" & filename))
Till --> Set MyFile = ScriptObject.CreateTextFile(Server.mappath("/ivica1/bilder/MITT_FIL_NAMN.gif"))
14 svar · 460 visningar · startad av Ivar
Hej!
Jag har kollat på webforumet men kunde inte hitta någon bra förklaring på Rename av filer.
Jag vill att bilden som man laddar till mappen och databasen ska få ett annat namn går det?
Typ 32434334_1700_453.gif.
Kod:
<!--#include file="upload.asp"-->
<%
on error resume next
'Response.BinaryWrite(Request.BinaryRead(Request.TotalBytes))
byteCount = Request.TotalBytes
'Response.BinaryWrite(Request.BinaryRead(varByteCount))
RequestBin = Request.BinaryRead(byteCount)
Dim UploadRequest
Set UploadRequest = CreateObject("Scripting.Dictionary")
BuildUploadRequest RequestBin
For Each File In UploadRequest.Items
'Exempel på hur man kan 'plocka ner' andra forumlärelement
'email = UploadRequest.Item("email").Item("Value")
item = UploadRequest.Item("item").Item("Value")
description = UploadRequest.Item("description").Item("Value")
category = UploadRequest.Item("category").Item("Value")
ja = UploadRequest.Item("ja").Item("Value")
price = UploadRequest.Item("price").Item("Value")
phone = UploadRequest.Item("phone").Item("Value")
email = UploadRequest.Item("email").Item("Value")
stad = UploadRequest.Item("stad").Item("Value")
password = UploadRequest.Item("password").Item("Value")
contentType = UploadRequest.Item("blob").Item("ContentType")
filepathname = UploadRequest.Item("blob").Item("FileName")
filename = Right(filepathname,Len(filepathname)-InstrRev(filepathname,"\"))
value = UploadRequest.Item("blob").Item("Value")
'Create FileSytemObject Component
next
If byteCount<=7000 THEN
Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")
'Create and Write to a File
pathEnd = Len(Server.mappath(Request.ServerVariables("PATH_INFO")))-14
' Set MyFile = ScriptObject.CreateTextFile(Left(Server.mappath(Request.ServerVariables("PATH_INFO")),pathEnd)&filename)
Set MyFile = ScriptObject.CreateTextFile(Server.mappath("/ivica1/bilder/" & filename))
For i = 1 to LenB(value)
MyFile.Write chr(AscB(MidB(value,i,1)))
Next
MyFile.Close
response.write "<b>Filens sökväg:</b> " & Server.mappath( filename) & "<br>"
response.write "<b>Filnamn:</b> " & filename & "<br><br>"
response.write "<img src=""" & filename & """>"
response.write "<font face=Verdana size=1>Din fil är upladdad utan problem </font>"
set connect = server.createobject("ADODB.connection")
Connect.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("db/annonser.mdb") & ";pwd=;"
Set RecSet= Server.CreateObject("ADODB.Recordset")
SQL= "INSERT INTO items (item, description, category,test,price,phone,email,stad, filename,password) VALUES('" & item & "', '"& description & "', '" & category &"','"& ja & "', '"&price&"','"&phone&"','"& email &"', '"&stad&"','" & filename & "','"& password & "')"
'Databas.Execute(SQL)
connect.Execute(SQL)
'Response.Write ="SQL"
else
response.write "Du har antingen en fil som inte har filändelse .gif eller så är den större än 70 kb.<br>Var gud och prova igen.</br>"
end if
%>
<meta http-equiv="Refresh" content="7; URL=default.asp">
Byt --> Set MyFile = ScriptObject.CreateTextFile(Server.mappath("/ivica1/bilder/" & filename))
Till --> Set MyFile = ScriptObject.CreateTextFile(Server.mappath("/ivica1/bilder/MITT_FIL_NAMN.gif"))
Ok... men jag vill att varje gång man laddar en bil då ska bilden få ett nytt namn (unik)?
Kan du inte typ döpa den efter datum och klockslag. Borde ju fungerar kan man tycka
typ "date()+time()"
Andreas
AG skrev:
Kan du inte typ döpa den efter datum och klockslag. Borde ju fungerar kan man tycka
typ "date()+time()"Andreas
då är det kasnke enklare att bara använda Now() ;)
Menar ni såhär:
Set MyFile = ScriptObject.CreateTextFile(Server.mappath("/ivica1/bilder/" & Date()))&""
Nej, så här:
Set MyFile = ScriptObject.CreateTextFile(Server.mappath("/ivica1/bilder/" & now()))&""
;)
Nej, så här:
Set MyFile = ScriptObject.CreateTextFile(Server.mappath("/ivica1/bilder/" & now()))
;)
Att lägga till en tom sträng ( & "") på slutet av någonting är oftast bara helt onödigt. Men ibland kan det skapa problem. Här skulle det kunna bli problem, eftersom det inte är en sträng som tom sträng skulle bli lagd till.
Mvh,
Hej Jesper T funkar ej om jag använder den här koden
Set MyFile = ScriptObject.CreateTextFile(Server.mappath("/ivica1/bilder/" & now()))
Men om jag använder Set MyFile = ScriptObject.CreateTextFile(Server.mappath("/ivica1/bilder/" & Date())) då får jag dagens datum (2002-09-08) och filen är ej .gif ?
var det en fråga eller ett påstående?
Set MyFile = ScriptObject.CreateTextFile(Server.mappath("/ivica1/bilder/" & Date()&".gif"))
Är det inte bara giffar så måste du ta ut filändelsen innan du byter namn på filen.
andelse=right(filename),4)
Set MyFile = ScriptObject.CreateTextFile(Server.mappath("/ivica1/bilder/" & Date() & andelse))
Visst det funkar så men laddar man ny bild så skrivs den över.
Kan man inte få sekunderna med eller ID nummer i så fall hur?
med now() istället för date()
Hej!
Jag löste problemen med den här koden:
'Create FileSytemObject Component
next
If contentType="image/gif" THEN
If byteCount<=7000 THEN
Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")
Dim MyVar
MyVar = Minute(Now)
Dim MySec
MySec = Second(Now)
' MySec contains the number representing the current second.
'Create and Write to a File
pathEnd = Len(Server.mappath(Request.ServerVariables("PATH_INFO")))-14
'Set MyFile = ScriptObject.CreateTextFile(Left(Server.mappath(Request.ServerVariables("PATH_INFO")),pathEnd)&filename)
Set MyFile = ScriptObject.CreateTextFile(Server.mappath("/ivica1/bilder/"& Date()& MyVar&MySec&".gif"))
For i = 1 to LenB(value)
MyFile.Write chr(AscB(MidB(value,i,1)))
Next
MyFile.Close
response.write "<b>Filens sökväg:</b> " & Server.mappath( filename) & "<br>"
response.write "<b>Filnamn:</b> " & filename & "<br><br>"
response.write "<img src=""" & filename & """>"
response.write "<br><font face=Verdana size=1>Din fil är upladdad utan problem och kommer att granskas av Europa Annons AB.</br></font>"
set connect = server.createobject("ADODB.connection")
Connect.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("db/annonser.mdb") & ";pwd=;"
Set RecSet= Server.CreateObject("ADODB.Recordset")
SQL= "INSERT INTO items (item, description, category,test,price,phone,email,stad, filename,password) VALUES('" & item & "', '"& description & "', '" & category &"','"& ja & "', '"&price&"','"&phone&"','"& email &"', '"&stad&"','" & Date()& MyVar&MySec&".gif"& "','"& password & "')"
'Databas.Execute(SQL)
connect.Execute(SQL)
'Response.Write ="SQL"
else
response.write "Du har antingen en fil som inte har filändelse .gif eller så är den större än 70 kb.<br>"
end if
end if
%>
<meta http-equiv="Refresh" content="7; URL=default.asp">
jadu det var lite onödigt mycket kod för så lite :e Skulle starkt rekommendera att du lär dig använda now() ;)