Avatar billede klamse Nybegynder
10. januar 2004 - 16:12 Der er 7 kommentarer og
1 løsning

Upload system asp!

Hej
Jeg har downloadet et asp script som skulle gøre det muligt at uploade på min side.
Men jeg får en fejl, I kan selv se den hvis går ind på:
www.wap.repsack.dk
Brugernavn: admin
Password: admin

Det er noget med i linie 69 chrB

Hvis det kan sige nogen noget :) så er hele koden her:

<!-- #Start# "Sikkerheds script" [copyright of k-b-n.dk] -->
<%
If Session("Valid") = "" Then
  Response.redirect "default.asp"
End If
%>
    <!-- #Slut# "Sikkerheds script" [copyright of k-b-n.dk] -->


<%
Sub BuildUploadRequest(RequestBin)
    'Get the boundary
    PosBeg = 1
    PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(13)))
    boundary = MidB(RequestBin,PosBeg,PosEnd-PosBeg)
    boundaryPos = InstrB(1,RequestBin,boundary)
    'Get all data inside the boundaries
    Do until (boundaryPos=InstrB(RequestBin,boundary & getByteString("--")))
        'Members variable of objects are put in a dictionary object
        Dim UploadControl
        Set UploadControl = CreateObject("Scripting.Dictionary")
        'Get an object name
        Pos = InstrB(BoundaryPos,RequestBin,getByteString("Content-Disposition"))
        Pos = InstrB(Pos,RequestBin,getByteString("name="))
        PosBeg = Pos+6
        PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(34)))
        Name = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
        PosFile = InstrB(BoundaryPos,RequestBin,getByteString("filename="))
        PosBound = InstrB(PosEnd,RequestBin,boundary)
        'Test if object is of file type
        If  PosFile<>0 AND (PosFile<PosBound) Then
            'Get Filename, content-type and content of file
            PosBeg = PosFile + 10
            PosEnd =  InstrB(PosBeg,RequestBin,getByteString(chr(34)))
            FileName = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
            'Add filename to dictionary object
            UploadControl.Add "FileName", FileName
            Pos = InstrB(PosEnd,RequestBin,getByteString("Content-Type:"))
            PosBeg = Pos+14
            PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(13)))
            'Add content-type to dictionary object
            ContentType = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
            UploadControl.Add "ContentType",ContentType
            'Get content of object
            PosBeg = PosEnd+4
            PosEnd = InstrB(PosBeg,RequestBin,boundary)-2
            Value = MidB(RequestBin,PosBeg,PosEnd-PosBeg)
            Else
            'Get content of object
            Pos = InstrB(Pos,RequestBin,getByteString(chr(13)))
            PosBeg = Pos+4
            PosEnd = InstrB(PosBeg,RequestBin,boundary)-2
            Value = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg))
        End If
        'Add content to dictionary object
    UploadControl.Add "Value" , Value   
        'Add dictionary object to main dictionary
    UploadRequest.Add name, UploadControl   
        'Loop to next object
        BoundaryPos=InstrB(BoundaryPos+LenB(boundary),RequestBin,boundary)
    Loop

End Sub

'String to byte string conversion
Function getByteString(StringStr)
For i = 1 to Len(StringStr)
    char = Mid(StringStr,i,1)
    getByteString = getByteString & chrB(AscB(char))
Next
End Function

'Byte string to string conversion
Function getString(StringBin)
getString =""
For intCount = 1 to LenB(StringBin)
    getString = getString & chr(AscB(MidB(StringBin,intCount,1)))
Next
End Function
%>
Avatar billede KingMedia Novice
10. januar 2004 - 16:48 #1
som der står i fejlmeddelelsen. .

Error Type:
Sun ONE ASP VBScript runtime (0x800A4001)
Function or method call not implemented: 'ChrB'
upload.asp, line 69


Browser Type:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; i-NavFourF; .NET CLR 1.1.4322; .NET CLR 1.0.3705)

Page:
POST 26836 bytes to /outputFile.asp

POST Data:

Request object error 'ASP 0207 : 80004005'

Cannot use Request.Form

/outputfile.asp, line 183

Cannot use Request.Form collection after calling BinaryRead.


Når du henter en fil kan du ikke bruge Request.Form kollektionen..
Det samme hvis man bruger ASPSmartUpload.. så skal man kalde sine felter på en anden måde..
Avatar billede klamse Nybegynder
10. januar 2004 - 16:52 #2
ok...
Jeg er newbie...
Så kan du forklare mig hvad det er jeg skal lave om?
Eller er det hele lortet den er gal  i?
:)
Avatar billede ellebaek Nybegynder
10. januar 2004 - 23:19 #3
hvor bruger du din request.form?
Avatar billede klamse Nybegynder
11. januar 2004 - 16:42 #4
Jeg ved det ik har bare downloadet det ;)
Avatar billede ellebaek Nybegynder
11. januar 2004 - 16:50 #5
hvordan ser outputfile.asp ud ?
Avatar billede klamse Nybegynder
11. januar 2004 - 17:21 #6
<!-- #Start# "Sikkerheds script" [copyright of k-b-n.dk] -->
<%
If Session("Valid") = "" Then
  Response.redirect "default.asp"
End If
%>
    <!-- #Slut# "Sikkerheds script" [copyright of k-b-n.dk] -->



<%
Response.Expires=0
Response.Buffer = TRUE
Response.Clear
byteCount = Request.TotalBytes
RequestBin = Request.BinaryRead(byteCount)
Dim UploadRequest
Set UploadRequest = CreateObject("Scripting.Dictionary")
BuildUploadRequest(RequestBin)
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")
Set ScriptObject = Server.CreateObject("Scripting.FileSystemObject")
'pathEnd = Len(Server.mappath(Request.ServerVariables("PATH_INFO")))-14
'Response.Write (Request.ServerVariables("PATH_INFO"))
Set MyFile = ScriptObject.CreateTextFile(Server.mappath(""&filename))
For i = 1 to LenB(value)
    MyFile.Write chr(AscB(MidB(value,i,1)))
Next
MyFile.Close    %>

<!--#include file="upload.asp"-->
Avatar billede klamse Nybegynder
27. august 2004 - 16:17 #7
bare smid et svar jeg lukker! har glemt spørgsmålet og koder i php nu ;)
Avatar billede ellebaek Nybegynder
29. august 2004 - 18:54 #8
jeg smider et svar her så..!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester