webForumDet fria alternativet

Behöver hjälp att lägga in...

ASP

0 svar · 100 visningar · startad av Javawebb

Medlem sedan nov. 20019 inlägg
Frågan#1

Kan inte så mycket asp men nu behöver jag hjälp med att lägga in så att man kan ta bort filer i en mapp. detta är ett upload script som laddar upp filer till en mapp så nu vill jag också att man ska kunna ta bort filer, men vet inte hur jag ska göra.

<% @EnableSessionState = False %>
<% Option Explicit %>
<% Response.Expires = 0 %>
<%
Dim UPLOAD_PATH
UPLOAD_PATH = Server.MapPath("upload")

Dim g_oFso, g_oFolder, g_oFile
	Set g_oFso	= Server.CreateObject("Scripting.FileSystemObject")
	Set g_oFolder	= g_oFso.getFolder(UPLOAD_PATH)

If (Request.ServerVariables("REQUEST_METHOD") = "POST") Then
	Dim g_oUpload
		Set g_oUpload	= get_upload_files()

	Dim fpos, fcontent
		fcontent	= g_oUpload("upload").Item("content")
	Set g_oFile	= g_oFso.CreateTextFile(UPLOAD_PATH & "\\" & extract_filename(g_oUpload("upload").Item("filename")))
	For fpos = 1 to LenB(fcontent)
		g_oFile.Write chr(AscB(MidB(fcontent, fpos, 1)))
	Next
	g_oFile.Close: Set g_oFile	= Nothing

	Response.Redirect Request.ServerVariables("SCRIPT_NAME")
End If

Response.Write "\<html\>\<body\>\<table\>"
Response.Write "\<tr\>\<td\>\<hr\>\</td\>\</tr\>"
For Each g_oFile In g_oFolder.Files
	Response.Write "\<tr\>\<td\>\<a href=""upload/" & g_oFile.Name & """\>" & g_oFile.name & "\</a\>\</td\>\</tr\>"
Next
Response.Write "\<tr\>\<td\>\<hr\>\</td\>\</tr\>"
Response.Write "\<tr\>\<td align=""right""\>\<form name=""frmUpload"" method=""post"" enctype=""multipart/form-data"" action=""" & Request.ServerVariables("SCRIPT_NAME") & """\>"
Response.Write "\<input type=""file"" name=""upload""\> &nbsp; \<input type=""submit"" value=""Ladda upp""\>\</td\>\</tr\>"
Response.Write "\</table\>\</body\>\</html\>"

%>
<%
Function get_upload_files()
Dim upload_object, request_binaries
Dim position_start, position_end
Dim boundary, boundary_pos

	Set upload_object	= Server.CreateObject("Scripting.Dictionary")
	request_binaries	= Request.BinaryRead(Request.TotalBytes)
	position_start		= 1
	position_end		= InstrB(position_start, request_binaries, get_byte_string(chr(13)))
	boundary			= MidB(request_binaries, position_start, (position_end - position_start))
	boundary_pos		= InstrB(1, request_binaries, boundary)

	Do Until (boundary_pos = InstrB(request_binaries, boundary & get_byte_string("--")))
		If Not(Response.IsClientConnected) Then Response.End

		Dim name, pos_file

		position_start	= (InstrB(InstrB(boundary_pos, request_binaries, get_byte_string("Content-Disposition")), request_binaries, get_byte_string("name=")) + 6)
		position_end	= InstrB(position_start, request_binaries, get_byte_string(chr(34)))

		name			= get_string(MidB(request_binaries, position_start, (position_end - position_start)))
		pos_file		= InstrB(boundary_pos, request_binaries, get_byte_string("filename="))

		If  ((pos_file \<\> 0) AND (pos_file \< InstrB(position_end, request_binaries, boundary))) Then
			upload_object.Add name, Server.CreateObject("Scripting.Dictionary")

			position_start	= (pos_file + 10)
			position_end	= InstrB(position_start, request_binaries, get_byte_string(chr(34)))
			upload_object.item(name).Add "filename", get_string(MidB(request_binaries, position_start, (position_end - position_start)))

			position_start	= (InstrB(position_end, request_binaries, get_byte_string("Content-Type:")) + 14)
			position_end	= InstrB(position_start, request_binaries, get_byte_string(chr(13)))
			upload_object.item(name).Add "content-type", get_string(MidB(request_binaries, position_start, (position_end - position_start)))

			position_start	= (position_end + 4)
			position_end	= InstrB(position_start, request_binaries, boundary) - 2
			upload_object.item(name).Add "size", ((position_end - position_start))
			upload_object.item(name).Add "content", MidB(request_binaries, position_start, (position_end - position_start))
		End If
		boundary_pos	= InstrB(boundary_pos + LenB(boundary), request_binaries, boundary)
	Loop

	Set get_upload_files = upload_object
End Function

Function get_byte_string(str)
	Dim cnt
	For cnt = 1 to Len(str)
		get_byte_string	= get_byte_string & chrB(AscB(Mid(str, cnt, 1)))
	Next
End Function

Function get_string(str)
	Dim cnt
	For cnt = 1 to LenB(str)
		get_string	= get_string & chr(AscB(MidB(str, cnt, 1))) 
	Next
End Function

Function extract_filename(filename)
	extract_filename	= Right(filename, Len(filename) - InStrRev(filename, "\\", -1, 1))
End Function

%>

Här är all kod! Hoppas att ni kan hjälpa mig....

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