Avatar billede hundevennen Nybegynder
11. september 2006 - 11:08 Der er 2 kommentarer og
1 løsning

Upload ikke større en 500 kb??

Jeg bruger nedenstående til upload af resultatlister, men filer over 500 kb kan ikke uploades??
<%
    Dim UPLOAD_PATH


        UPLOAD_PATH    = Server.MapPath("resultater")

    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  border=1 width=600 cellpadding=0 cellspacing=0><tr><td align='center'><strong><font size=+1>Upload af filer<br><br><br><br></font></strong></td></tr>"
    response.write "<tr><td><b>Uploadede filer:</b></td></tr>"
    Response.Write "<tr><td><hr></td></tr>"
    For Each g_oFile In g_oFolder.Files
    if right(g_oFile.name,3) = "asp" then
    Response.write ""
    else
      Response.Write "<tr><td><a href=""" & g_oFile.Name & """ target=_blank>" & g_oFile.name & "</a></td></tr>"
    end if
    Next
    Response.Write "<tr><td><hr></td></tr>"
    Response.Write "<tr><td align=""left""><form name=""frmUpload"" method=""post"" enctype=""multipart/form-data"" action=""" & Request.ServerVariables("SCRIPT_NAME") & """>"
    Response.Write "<input size=60 type=""file"" name=""upload""> &nbsp; <input type=""submit"" value=""upload""></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(23)))
        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(54)))

            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

%>
Avatar billede fennec Nybegynder
11. september 2006 - 11:32 #1
Kan evt have noget med AspMaxRequestEntityAllowed attributten i IIS's Metabase.xml at gøre. Den bestemmer hvor meget data der kan sendes, og default er ca 200kb på en 2003 server. Hvorfor din grænse er 500kb ved jeg ikke, men det er måske en anden type server??

Hvis det er din egen server, så tjek metabase filen:
http://www.banmanpro.com/support2/File_Upload_limits.asp
Avatar billede hundevennen Nybegynder
12. september 2006 - 14:29 #2
fennec -jeg har desværre ikke adminrettigheder til serveren og der bliver ikke stillet om, så smid et svar
Avatar billede hundevennen Nybegynder
07. marts 2007 - 20:01 #3
lukker
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