webForumDet fria alternativet

ladda upp fil

ASP

6 svar · 702 visningar · startad av nille99

Medlem sedan aug. 2002352 inlägg
Frågan#1

jag har ett asp kod som klarar av att ladda upp fil på min server

men ibland så har filnamnet så konstiga namn, så jag vill ha en text ruta där jag kan skriva in ett nytt namn

hur gör jag?

<form method="post" action="outputfile.asp" enctype="multipart/form-data">

\<input type="file" name="blob"\>\<br\>
\<input type="text" name=namn\>\<br\>
\<input type="submit" value="Ladda upp, yo!"\>

</form>
outputfile.asp
<%
Server.ScriptTimeout = 500
Response.Expires=0
Response.Buffer = TRUE
Response.Clear
'Response.BinaryWrite(Request.BinaryRead(Request.TotalBytes))
byteCount = Request.TotalBytes

RequestBin = Request.BinaryRead(byteCount)
Dim UploadRequest
Set UploadRequest = CreateObject("Scripting.Dictionary")

BuildUploadRequest RequestBin

name = UploadRequest.Item("namn").Item("TextName")
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")
filtyp = lcase(right(contentType,3))

Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")

set fso = server.createobject("scripting.filesystemobject")
set folder = fso.getFolder(server.mappath("./filer"))

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(filename))

for each file in folder.files
if file.name = filename then
filename = "kopia" & filename
elseif file.name = "kopia" &filename then
filename = "kopia1" & filename
end if
next

Set MyFile = ScriptObject.CreateTextFile(Server.mappath("filer/" & 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 "<b>typ:</b> " & filtyp & "<br><br>"
response.write "<b>value:</b> " & name & "<br><br>"

Medlem sedan aug. 2002352 inlägg
#2

fick det fungera

name = UploadRequest.Item("namn").Item("Value")
filtyp = lcase(right(contentType,3))
nynamn = name & "." & filtyp

Medlem sedan juni 200032 967 inlägg
#3

Va bra!

  1. [kod]-taggar när du postar kod
  2. Acceptera som slutgiltigt svar
Medlem sedan aug. 2002352 inlägg
#4

kort fråga

hur skriver jag över en fil på serven?

Medlem sedan aug. 2002352 inlägg
#5

jag löste problemet

jag tog bort filen före jag la ut den igen

Medlem sedan juni 200032 967 inlägg
Medlem sedan jan. 20011 154 inlägg
#7

Annars har du parametrar i fso för overwrite
http://www.devguru.com/technologies/vbscript/14051.asp

256 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)