webForumDet fria alternativet

Jag blir inte klok på detta felmess

ASP

18 svar · 389 visningar · startad av medialabs

Medlem sedan mars 20023 686 inlägg
Frågan#1

jag vet inte varför denna kod funkar, Med hjälp av denna kod så ska man kunna ladda upp filer men när den körs så får jag felmesset. Jag blir tokig, eftersom detta är till en tjänst jag håller på och fibblar med!

Microsoft VBScript runtime error '800a0035'

File not found

/webbdisk/ftpaction.asp, line 82

<!--#include file="settings.asp"-->
<% 
'===============================================================================
'# Här skapar vi en ny mapp på användarens konto
'===============================================================================
If Request.Querystring("a") = "newdir" Then 
	Set Make_dir = Server.CreateObject("Scripting.FileSystemObject")
	If Not Request.Form("target") = "" Then 
		Set Dir = Make_dir.CreateFolder(Server.MapPath(Request.Form("user") & "/" & Request.Form("target") & Request.Form("newdir")))
	Else
		Set Dir = Make_dir.CreateFolder(Server.MapPath(Request.Form("user") & "/" & Request.Form("newdir")))
	End If
	Response.Redirect "ftp.asp?dir=" & Request.Form("target")
End If

'===============================================================================
'# Här tar vi bort filer eller mappar från användarens konto
'===============================================================================
If Request.Querystring("a") = "delete" Then 
	Set Fso = Server.Createobject("Scripting.FileSystemObject") 
	strDelete = Server.MapPath(Request.Form("user") & "/" & Request.Form("target"))
	If Request.Form("typ") = "fil" Then
		Fso.DeleteFile(strDelete & i)
	Else
		Fso.DeleteFolder(strDelete & i)
	End If
	Set Fso = nothing
	Response.Redirect "ftp.asp?dir=" & Request.Form("dir")
End If

'===============================================================================
'# Här tar döper vi om filer eller mappar på användarens konto
'===============================================================================
If Request.Querystring("a") = "rename" Then
	Set fso = CreateObject("Scripting.FileSystemObject") 
	strOld = Server.MapPath(Request.Form("user") & "/" & Request.Form("target"))
	strNew = Server.MapPath(Request.Form("user") & "/" & Left(Request.Form("target"), Len(Request.Form("target"))-Len(Request.Form("name"))) & Request.Form("newname"))
	If Request.Form("typ") = "fil" Then
		fso.MoveFile strOld, strNew
	Else
		fso.MoveFolder strOld, strNew
	End If
	Set fso = nothing
	Response.Redirect "ftp.asp?dir=" & Request.Form("dir")
End If

'===============================================================================
'# Här flyttar vi filer på användarens konto
'===============================================================================
If Request.Querystring("a") = "move" Then
	Set fso = CreateObject("Scripting.FileSystemObject") 
	strOld = Server.MapPath(Request.Form("user") & "/" & Request.Form("target"))
	strNew = Server.MapPath(Request.Form("user") & "/" & Request.Form("dir") & "/" & Request.Form("name"))
	fso.MoveFile strOld, strNew
	Set fso = nothing
	Response.Redirect "ftp.asp?dir=" & Request.Form("dir")
End If

'===============================================================================
'# Här laddar vi upp filer till användarens konto
'===============================================================================
If Request.Querystring("a") = "upload" Then 
%>
<!--#include file="upload_data.asp" -->
<%
Response.Expires=0
Response.Buffer = TRUE
Response.Clear
byteCount = Request.TotalBytes

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

BuildUploadRequest RequestBin

For x = 1 To strUploads
If Not UploadRequest.Item("file" & x).Item("Value") = "" Then

Set Fso = CreateObject("Scripting.FileSystemObject") 
 
[b]Set Fso = Server.CreateObject("Scripting.FileSystemObject")  ' Här blir det problem!!! Microsoft VBScript runtime error '800a0035' File not found.......[/b]
   
Set MyFile = Fso.GetFile(UploadRequest.Item("file" & x).Item("FileName"))
   strFilesize = MyFile.Size 
Set Fso = Nothing 
 
If UploadRequest.Item("used").Item("Value") + strFilesize > strAccount Then
	Session("error") = "Du har inte tillräckligt med utrymme på ditt konto \nför att ladda upp filen: " & Right(UploadRequest.Item("file" & x).Item("FileName"),Len(UploadRequest.Item("file" & x).Item("FileName"))-InstrRev(UploadRequest.Item("file" & x).Item("FileName"),"\")) & " "
	Response.Redirect "ftp.asp?dir=" & UploadRequest.Item("target").Item("Value")
Else
filepathname = UploadRequest.Item("file" & x).Item("FileName")
filename = Right(filepathname,Len(filepathname)-InstrRev(filepathname,"\"))
value = UploadRequest.Item("file" & x).Item("Value")

		Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")
	
		pathEnd = Len(Server.mappath(Request.ServerVariables("PATH_INFO")))-14
		Set MyFile = ScriptObject.CreateTextFile(Server.mappath(UploadRequest.Item("user").Item("Value") & UploadRequest.Item("target").Item("Value") & filename))
	
		For i = 1 to LenB(value)
		MyFile.Write chr(AscB(MidB(value,i,1)))
		Next
		MyFile.Close
End If
End If
Next

Response.Redirect "ftp.asp?dir=" & UploadRequest.Item("target").Item("Value")
End If
%>
Medlem sedan mars 20021 889 inlägg
#2
Set Fso = CreateObject("Scripting.FileSystemObject") 
Set Fso = Server.CreateObject("Scripting.FileSystemObject")

Du gör samma sak två gånger. Det andra sättet tror jag är mest riktigt.

:)

Medlem sedan mars 20023 686 inlägg
#3

Blev samma fel, spelar ingen roll om vilken jag tar bort

Medlem sedan mars 20021 889 inlägg
#4

Är du förresten säker på att det är den raden?
Sedan hade jag lagt initieringen av objektet utanför loopen.
For x = 1 To strUploads

:)

Medlem sedan mars 20023 686 inlägg
#5

trexter skrev:

Är du förresten säker på att det är den raden?

:)

Japp :)

Medlem sedan mars 20023 686 inlägg
#6

Jag kontroll räkna och nu är det fel på rad 83

Set Fso = CreateObject("Scripting.FileSystemObject")

Fil not found......

Medlem sedan mars 20021 889 inlägg
#7

Lägg initieringen av objektet utanför loopen,
även om det inte har något med felet att göra.

:)

Medlem sedan mars 20023 686 inlägg
#8

trexter skrev:

Lägg initieringen av objektet utanför loopen,
även om det inte har något med felet att göra.

:)

?? rena grekiskan :r

Medlem sedan jan. 20032 285 inlägg
#9

Lägg "Set Fso = Server.CreateObject("Scripting.FileSystemObject")" utanför loopen istället för innanför loopen tror jag väl att han menar?

Medlem sedan mars 20021 889 inlägg
#10

Jepp, men nu när jag kolla på koden så gör det inte.
Jag avvaktar tills någon annan kan hjälpa dig.

:)

Medlem sedan dec. 20002 526 inlägg
#11

du kan ju testa att kommentera bort raden, se vad den sager da!

Medlem sedan mars 20015 287 inlägg
#12

Det börjar ju bra... "Jag vet inte varför denna kod funkar..." He he..
Har den någonsin fungerat för dig? Innan ändringar kanske?

Denna rad:
For x = 1 To strUploads

Det ska inte stå 0 To strUploads?

Medlem sedan apr. 20022 743 inlägg
#13

solbulle skrev:

Det börjar ju bra... "Jag vet inte varför denna kod funkar..." He he..
Har den någonsin fungerat för dig? Innan ändringar kanske?

Denna rad:
For x = 1 To strUploads

Det ska inte stå 0 To strUploads?

Nej det ska vara 1 :)

När jag gjorde scriptet och la ut det på nätet funkade allt, dock har jag inte den version du använder på datorn nu.. Den jag har är nyare och lite annan kod så jag kan inte se riktigt vad du ändrat..

Sen hoppas jag att det är en gratistjänst du håller på med, det är det väll?

Medlem sedan mars 20023 686 inlägg
#14

Poffe skrev:

solbulle skrev:

Det börjar ju bra... "Jag vet inte varför denna kod funkar..." He he..
Har den någonsin fungerat för dig? Innan ändringar kanske?

Denna rad:
For x = 1 To strUploads

Det ska inte stå 0 To strUploads?

Nej det ska vara 1 :)

När jag gjorde scriptet och la ut det på nätet funkade allt, dock har jag inte den version du använder på datorn nu.. Den jag har är nyare och lite annan kod så jag kan inte se riktigt vad du ändrat..

Sen hoppas jag att det är en gratistjänst du håller på med, det är det väll?

Jag har inte ändrat något i den där koden. Hittade scriptet i en gamal backup skiva daterad till 2002-15-01 igår och tänkte kolla om det funkade men icke, allt annat funkar förutom att ladda upp filer till kontot, jag kan ta bort filer och annat. Jag blir inte klok på det där.

Jag testade din första ftpaction från version 1.0 och den funkar utan problem.

Jag hoppas att någon kan hjälpa till att lösa detta.. :)

Medlem sedan mars 20023 686 inlägg
#15

Om ni tar och tittar på den gamla ftpaction.asp filen som följer med i version 1.0 av scriptet så funkar det att använda den till denna version också men det fattas lite funktioner i den. Tex som kollar att man har utrymme osv...

<!--#include file="settings.asp"-->
<% 
If Request.Querystring("a") = "newdir" Then 
	Set Make_dir = Server.CreateObject("Scripting.FileSystemObject")
	If Not Request.Form("target") = "" Then 
		Set Dir = Make_dir.CreateFolder(Server.MapPath(Request.Form("user") & "/" & Request.Form("target") & Request.Form("newdir")))
	Else
		Set Dir = Make_dir.CreateFolder(Server.MapPath(Request.Form("user") & "/" & Request.Form("newdir")))
	End If
	Response.Redirect "ftp.asp?dir=" & Request.Form("target")
End If

If Request.Querystring("a") = "delete" Then 
	Set Fso = Server.Createobject("Scripting.FileSystemObject") 
	strDelete = Server.MapPath(Request.Form("user") & "/" & Request.Form("target"))
	If Request.Form("typ") = "file" Then
		Fso.DeleteFile(strDelete & i)
	Else
		Fso.DeleteFolder(strDelete & i)
	End If
	Set Fso = nothing
	Response.Redirect "ftp.asp?dir=" & Request.Form("dir")
End If

If Request.Querystring("a") = "rename" Then
	Set fso = CreateObject("Scripting.FileSystemObject") 
	If Request.Form("typ") = "file" Then
		strOld = Server.MapPath(Request.Form("user") & "/" & Request.Form("target"))
		strNew = Server.MapPath(Request.Form("user") & "/" & Request.Form("newname"))
		fso.MoveFile strOld, strNew
	Else
		strOld = Server.MapPath(Request.Form("user") & "/" & Request.Form("target"))
		strNew = Server.MapPath(Request.Form("user") & "/" & Request.Form("newname"))
		fso.MoveFolder strOld, strNew
	End If
	Set fso = nothing
	Response.Redirect "ftp.asp?dir=" & Request.Form("dir")
End If

If Request.Querystring("a") = "upload" Then 
%>
<!--#include file="upload_data.asp" -->
<%
Response.Expires=0
Response.Buffer = TRUE
Response.Clear
byteCount = Request.TotalBytes

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

BuildUploadRequest RequestBin
For x = 1 To strUploads
If Not UploadRequest.Item("file" & x).Item("Value") = "" Then
filepathname = UploadRequest.Item("file" & x).Item("FileName")
filename = Right(filepathname,Len(filepathname)-InstrRev(filepathname,"\"))
value = UploadRequest.Item("file" & x).Item("Value")

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

		pathEnd = Len(Server.mappath(Request.ServerVariables("PATH_INFO")))-14
		Set MyFile = ScriptObject.CreateTextFile(Server.mappath(UploadRequest.Item("user").Item("Value") & UploadRequest.Item("target").Item("Value") & filename))  'HÄR ÄNDRAR NI SÖKVÄGEN DÄR FILEN SKA SPARAS, HÄR I SAMMA KATALOG SOM UPLOAD_DONE.ASP LIGGER I
	
		For i = 1 to LenB(value)
		MyFile.Write chr(AscB(MidB(value,i,1)))
		Next
		MyFile.Close
End If
Next
Response.Redirect "ftp.asp?dir=" & UploadRequest.Item("target").Item("Value")
End If
%>
Medlem sedan mars 20023 686 inlägg
#16

Poffe, har du någon ny version av detta script?

Medlem sedan mars 20023 686 inlägg
#17

Jag har försökt att felsöka i scriptet och kommit fram till att om jag tar bort följande så laddas det upp utan problem.

Set MyFile = Fso.GetFile(UploadRequest.Item("file" & x).Item("FileName"))
   strFilesize = MyFile.Size 
Set Fso = Nothing 
 
If UploadRequest.Item("used").Item("Value") + strFilesize > strAccount Then
	Session("error") = "Du har inte tillräckligt med utrymme på ditt konto \nför att ladda upp filen: " & Right(UploadRequest.Item("file" & x).Item("FileName"),Len(UploadRequest.Item("file" & x).Item("FileName"))-InstrRev(UploadRequest.Item("file" & x).Item("FileName"),"\")) & " "
	Response.Redirect "ftp.asp?dir=" & UploadRequest.Item("target").Item("Value")
Else
Medlem sedan apr. 20022 743 inlägg
#18

Jag har ingen *klar* version förutom den första (1.0) och om det inte är den du har så blir jag lite fundersam eftersom det är den enda version som jag laggt upp..

Har för mig att det är adminnistrationen som inte är klar i den andra versionen...

Medlem sedan mars 20023 686 inlägg
#19

Poffe skrev:

Jag har ingen *klar* version förutom den första (1.0) och om det inte är den du har så blir jag lite fundersam eftersom det är den enda version som jag laggt upp..

Har för mig att det är adminnistrationen som inte är klar i den andra versionen...

ok....

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