Avatar billede firehat Nybegynder
26. februar 2002 - 16:00 Der er 7 kommentarer og
1 løsning

Upload

Hejsa...

Jeg har nu fundet et upload-script men hvordan kan jeg så få den til at gemme i en mappe som står i url'en???

Her er scriptet:

Default.asp:

<html>
<head>
<title>Upload</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<div align="center">
<form method="post" enctype="multipart/form-data" action="upFile.asp">
File:&nbsp;<input type="file" name="theFile"><br />
<input type="submit" name="enter" value=" Upload ">
</form>
</div>
</body>
</html>


upFile.asp:
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<%@ LANGUAGE="VBScript" %>
<%
Option Explicit
Response.Expires = -1
Response.Buffer = True
Response.Clear

Dim cdpBinaryData,cdpBoundary,cdpBoundPosition,cdpCharacter,cdpContentType,cdpCount,cdpDicUploadControl,cdpDicUploadRequest,cdpEndPosition,cdpFile,cdpFileName,cdpFilePath,cdpFilePosition,cdpFileSize,cdpFSO,cdpI,cdpName,cdpPosition,cdpPositionBoundary,cdpStartPosition,cdpTotalBytes,cdpValue

cdpTotalBytes = Request.TotalBytes
cdpBinaryData = Request.BinaryRead(cdpTotalBytes)
Set cdpDicUploadRequest = CreateObject("Scripting.Dictionary")
cdpUploadRoutine cdpBinaryData
cdpContentType = cdpDicUploadRequest("theFile")("cdpContentType")
cdpFilePath = cdpDicUploadRequest("theFile")("cdpFileName")
cdpFileName = Right(cdpFilePath,Len(cdpFilePath)-InstrRev(cdpFilePath,"\"))

If Not cdpFileName = "" Then
    cdpValue = cdpDicUploadRequest("theFile")("cdpValue")
    Set cdpFSO = Server.CreateObject("Scripting.FileSystemObject")
    Set cdpFile = cdpFSO.CreateTextFile(Server.mappath("uploaded/" & cdpFileName))
   
    For cdpI = 1 To LenB(cdpValue)
        cdpFile.Write Chr(AscB(MidB(cdpValue,cdpI,1)))
    Next
   
    cdpFile.Close
    Set cdpFile = Nothing
   
    Sub cdpUploadRoutine(cdpBinaryData)
        cdpStartPosition = 1
        cdpEndPosition = InstrB(cdpStartPosition,cdpBinaryData,getByteString(Chr(13)))
        cdpBoundary = MidB(cdpBinaryData,cdpStartPosition,cdpEndPosition-cdpStartPosition)
        cdpPositionBoundary = InstrB(1,cdpBinaryData,cdpBoundary)
       
        Do until (cdpPositionBoundary=InstrB(cdpBinaryData,cdpBoundary & getByteString("--")))
            Set cdpDicUploadControl = CreateObject("Scripting.Dictionary")
            cdpPosition = InstrB(cdpPositionBoundary,cdpBinaryData,getByteString("Content-Disposition"))
            cdpPosition = InstrB(cdpPosition,cdpBinaryData,getByteString("name="))
            cdpStartPosition = cdpPosition + 6
            cdpEndPosition = InstrB(cdpStartPosition,cdpBinaryData,getByteString(Chr(34)))
            cdpName = getString(MidB(cdpBinaryData,cdpStartPosition,cdpEndPosition-cdpStartPosition))
            cdpFilePosition = InstrB(cdpPositionBoundary,cdpBinaryData,getByteString("filename="))
            cdpBoundPosition = InstrB(cdpEndPosition,cdpBinaryData,cdpBoundary)
           
            If  cdpFilePosition <> 0 And (cdpFilePosition<cdpBoundPosition) Then
                cdpStartPosition = cdpFilePosition + 10
                cdpEndPosition =  InstrB(cdpStartPosition,cdpBinaryData,getByteString(Chr(34)))
                cdpFileName = getString(MidB(cdpBinaryData,cdpStartPosition,cdpEndPosition-cdpStartPosition))
                cdpDicUploadControl.Add "cdpFileName", cdpFileName
                cdpPosition = InstrB(cdpEndPosition,cdpBinaryData,getByteString("Content-Type:"))
                cdpStartPosition = cdpPosition + 14
                cdpEndPosition = InstrB(cdpStartPosition,cdpBinaryData,getByteString(Chr(13)))
                cdpContentType = getString(MidB(cdpBinaryData,cdpStartPosition,cdpEndPosition-cdpStartPosition))
                cdpDicUploadControl.Add "cdpContentType",cdpContentType
                cdpStartPosition = cdpEndPosition + 4
                cdpEndPosition = InstrB(cdpStartPosition,cdpBinaryData,cdpBoundary) - 2
                cdpValue = MidB(cdpBinaryData,cdpStartPosition,cdpEndPosition-cdpStartPosition)
            Else
                cdpPosition = InstrB(cdpPosition,cdpBinaryData,getByteString(Chr(13)))
                cdpStartPosition = cdpPosition + 4
                cdpEndPosition = InstrB(cdpStartPosition,cdpBinaryData,cdpBoundary) - 2
                cdpValue = getString(MidB(cdpBinaryData,cdpStartPosition,cdpEndPosition-cdpStartPosition))
            End If
           
            cdpDicUploadControl.Add "cdpValue" , cdpValue   
            cdpDicUploadRequest.Add cdpName, cdpDicUploadControl   
            cdpPositionBoundary=InstrB(cdpPositionBoundary+LenB(cdpBoundary),cdpBinaryData,cdpBoundary)
        Loop
    End Sub
   
    Function getByteString(StringStr)
        For cdpI = 1 To Len(StringStr)
            cdpCharacter = Mid(StringStr,cdpI,1)
            getByteString = getByteString & chrB(AscB(cdpCharacter))
        Next
    End Function
   
    Function getString(cdpBinaryString)
        getString = ""
       
        For cdpCount = 1 To LenB(cdpBinaryString)
            getString = getString & Chr(AscB(MidB(cdpBinaryString,cdpCount,1)))
        Next
    End Function
   
    cdpFileSize = cdpTotalBytes / 1024
    cdpFileSize = Round(cdpFileSize, 2)
    Response.Write("<title>The file " & cdpFileName & " was successfully uploaded! - Size: " & cdpFileSize & "</title>")
    Response.Write(cdpFileName & " Uploaded successfully! Size: " & cdpFileSize & " kb.<br />")
End If
%>


Tak på forhånd...

/Firehat

P.S. Jeg ved ikke om der skal flere point, men jeg har ikke flere...

Avatar billede sukos Juniormester
26. februar 2002 - 16:06 #1
Sorry for at kommentere dit spm, men det var det vildt så meget der skal til i asp for at uplode en fil!

<?php

if ($upfile) {

echo"Filnavn: $upfile_name<br>\n";
echo"Temp navn: $upfile<br>\n";
echo"Fil str. :$upfile_size bytes<br>\n";
echo"Filtype: $upfile_type<br>\n";
echo"Det lykkedes vist?<br>\n";

    if (copy($upfile, "billeder/" . $upfile_name)) {
    echo"kopieret!!!<br>";
    }
}else{
echo"Shit!!!";
}

?>
Avatar billede pelkjaer Nybegynder
26. februar 2002 - 16:09 #2
sukos>>Bare fordi du har set ét eksempel - har du jo ikke set alt i asp :)
Avatar billede firehat Nybegynder
26. februar 2002 - 16:48 #3
sukos ---> jeg synes også at det er langt...

/firehat
Avatar billede firehat Nybegynder
26. februar 2002 - 18:08 #4
Er der ikke en eller anden der bare kan give et bud??

/Firehat
Avatar billede ellebaek Nybegynder
01. marts 2002 - 21:36 #5
Hej Firehat...


det var da et mystisk script du har der!!
det er meget langt og meget uoverskueligt.
Hvis du er nybegynder i ASP, vil jeg foreslå dig følgende script, det gør det lidt nemmere...
http://activedeveloper.dk/download/default.asp?mode=showdownload&id=79
der er ikke så meget der skal ændres i dette script, for at du kan få det til at uploade til en bestemt mappe på din server...
Men spørg hvis du har problemer...

-Ellebaek
www.fotx.net/ellebaek
Avatar billede firehat Nybegynder
02. marts 2002 - 22:19 #6
Har prøvet det script... kan ikke bruge det, men et stort tak...

/Firehat
Avatar billede firehat Nybegynder
05. marts 2002 - 16:36 #7
Da jeg ikke har fået noget svar jeg kan bruge lukker jeg...

/Firehat
Avatar billede ellebaek Nybegynder
06. marts 2002 - 09:57 #8
Firehat ??

Hvad er det for et script du skal bruge ??
Hvad skal det kunne ?
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

IT-JOB