Avatar billede kometen79 Nybegynder
16. april 2004 - 08:24 Der er 8 kommentarer og
1 løsning

ASP upload! Hjælp

Hvordan gemmer jeg de enkelte filer i 2 forskellige mapper?

Scriptet ser pt. således ud, men den skal også gemme den samme fil i denne mappe ../../uploads/

Set objUpload = Server.CreateObject("Persits.Upload.1")

            With objUpload


                'make sure files arn't over written
                .OverwriteFiles = False

                'We need to save the file before we can find out anything about it
                '** Save virtual is used as saving to memory is often disabled by the web host **
                .SaveVirtual strFileUploadPath

                'Get the file name
                strNewFileName = .Files(1).ExtractFileName

                'Replace spaces with underscores
                strNewFileName = Replace(strNewFileName, " ", "_", 1, -1, 1)

                'Remove brackets that aspUpload may put in when renaming a file
                strNewFileName = Replace(strNewFileName, "(", "", 1, -1, 1)
                strNewFileName = Replace(strNewFileName, ")", "", 1, -1, 1)

                'Check the file size is not above the max allowed size, this is done using a function not the compoent to stop an exception error
                lngErrorFileSize = fileSize(.Files(1).Size, intMaxFileSize)

                'Loop through all the allowed extensions and see if the file has one
                blnExtensionOK = fileExtension(strNewFileName, saryFileUploadTypes)

                'If the file is OK save it to disk
                If lngErrorFileSize = 0 AND blnExtensionOK = True Then

                    '** AspUpload does have a function to stop files form being over written but this can allow the forum open to malicious code **
                    '** so instead if the file exists create an acceptable new name for the file **
                    'Check to make sure the file does not already exist
                    Do While .FileExists(Server.MapPath(strFileUploadPath) & "\" & strNewFileName)

                        'Create a new file name for the file if it already exsist
                        strNewFileName = hexValue(3) & "_" & strNewFileName
                    Loop
                   

                    'Save the file to disk with new file name
                    '** Copy virtual is used as save as is often disabled by the web host **
                    .Files(1).CopyVirtual strFileUploadPath & "/" & strNewFileName

                    'As a new copy of the file is saved we need to get rid of the old copy
                    .Files(1).Delete

                    'Pass the filename back
                    fileUpload = strNewFileName


                'Else if it is not OK delete the uploaded file
                Else
                    .Files(1).Delete

                End If

            End With

            'Clean up
            Set objUpload = Nothing
Avatar billede ellebaek Nybegynder
16. april 2004 - 10:46 #1
hvilken fejl får du når du prøver =?
Avatar billede kometen79 Nybegynder
16. april 2004 - 11:30 #2
som den ser ud nu får jeg ingen fejl, men jeg vil gerne have den til at smide filen i en mappe mere.
Avatar billede ellebaek Nybegynder
16. april 2004 - 11:33 #3
arh... Ok...
Jeg havde ikke helt forstået dit spg på den måde..

Prøv det her..

Set objUpload = Server.CreateObject("Persits.Upload.1")

            With objUpload


                'make sure files arn't over written
                .OverwriteFiles = False

                'We need to save the file before we can find out anything about it
                '** Save virtual is used as saving to memory is often disabled by the web host **
                .SaveVirtual strFileUploadPath

                'Get the file name
                strNewFileName = .Files(1).ExtractFileName

                'Replace spaces with underscores
                strNewFileName = Replace(strNewFileName, " ", "_", 1, -1, 1)

                'Remove brackets that aspUpload may put in when renaming a file
                strNewFileName = Replace(strNewFileName, "(", "", 1, -1, 1)
                strNewFileName = Replace(strNewFileName, ")", "", 1, -1, 1)

                'Check the file size is not above the max allowed size, this is done using a function not the compoent to stop an exception error
                lngErrorFileSize = fileSize(.Files(1).Size, intMaxFileSize)

                'Loop through all the allowed extensions and see if the file has one
                blnExtensionOK = fileExtension(strNewFileName, saryFileUploadTypes)

                'If the file is OK save it to disk
                If lngErrorFileSize = 0 AND blnExtensionOK = True Then

                    '** AspUpload does have a function to stop files form being over written but this can allow the forum open to malicious code **
                    '** so instead if the file exists create an acceptable new name for the file **
                    'Check to make sure the file does not already exist
                    Do While .FileExists(Server.MapPath(strFileUploadPath) & "\" & strNewFileName)

                        'Create a new file name for the file if it already exsist
                        strNewFileName = hexValue(3) & "_" & strNewFileName
                    Loop
                   

                    'Save the file to disk with new file name
                    '** Copy virtual is used as save as is often disabled by the web host **
                    .Files(1).CopyVirtual strFileUploadPath & "/" & strNewFileName
                    .Files(1).CopyVirtual "../../uploads/" & strNewFileName

                    'As a new copy of the file is saved we need to get rid of the old copy
                    .Files(1).Delete

                    'Pass the filename back
                    fileUpload = strNewFileName


                'Else if it is not OK delete the uploaded file
                Else
                    .Files(1).Delete

                End If

            End With

            'Clean up
            Set objUpload = Nothing
Avatar billede kometen79 Nybegynder
16. april 2004 - 13:53 #4
Hej igen den laver følgende fejl i denne her linie:  .SaveVirtual strFileUploadPath

Siden kan ikke vises
Der er opstået et problem med den side, du forsøger at se, og siden kan ikke vises.

--------------------------------------------------------------------------------

Prøv følgende:

Klik på knappen Opdater, eller forsøg igen senere.

Åbn localhost hjemmesiden, og søg derefter efter hyperlinks til de ønskede oplysninger.
HTTP 500,100 - Intern fejl på serveren - ASP-fejl -
Internet Information Services

--------------------------------------------------------------------------------

Tekniske oplysninger (for supportteknikere)

Fejltype:
Persits.Upload.1 (0x800A0001)
Uspecificeret fejl
/webvizion/WebVizion2004/Websiden/Admin/functions/functions_upload.asp, line 93


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

Side:
POST 1469 bytes to /webvizion/WebVizion2004/Websiden/Admin/upload_images.asp

POST Data:
. . .

Klokkeslæt:
16. april 2004, 13:53:34


Yderligere oplysninger:
Microsoft Support
Avatar billede ellebaek Nybegynder
16. april 2004 - 14:22 #5
men dit script virker som det var til at starte med ?
Avatar billede kometen79 Nybegynder
16. april 2004 - 14:23 #6
yes sir...
Avatar billede kometen79 Nybegynder
16. april 2004 - 14:24 #7
Nej undskyld der er da et eller andet galt....jeg tjekker lige op på det.
Avatar billede kometen79 Nybegynder
16. april 2004 - 14:38 #8
Det virker perfekt tusind tak. Du vil vel have nogle point ikke sandt ;-)
Avatar billede ellebaek Nybegynder
16. april 2004 - 21:38 #9
Jo tak da...

Smider et svar..
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