Avatar billede webbe Nybegynder
31. august 2005 - 12:18 Der er 29 kommentarer og
1 løsning

Fejl i Persits Upload komponent

Hej Eksperter

Jeg sidder med et projekt hvor jeg skal uploade en billed-fil til serveren med Persits.Upload - men det virker ikke.

Jeg får følgende fejlmeddelelse:

Persits.Upload.1 error '800a0005'

The system cannot find the file specified.

/admin/save.asp, line 44

Linie 44 : Upload.Save Server.MapPath("./../images/eksempler") & "\"

Min formular:

<br><br>Oprettelse af: <b>Exempler</b>
                <form method="post" action="save.asp?action=CreateEksempel" ENCTYPE="multipart/form-data">
                    Navn:&nbsp;&nbsp;&nbsp;Navnet på eksemplet som ses af brugeren<br><input type="text" name="navn" style="width:300px;"><br><br>
                    Link:<br><input type="text" name="link" style="width:300px;"><br><br>
                    Beskrivelse:&nbsp;&nbsp;&nbsp;Beskriv eksemplet<br><textarea name="beskrivelse" style="width:500px;"></textarea><br><br>
                    Upload et billede:<br>
                    <input type="file" name="pic" style="width:300px;"><br><br>
                    <input type="image" src="../images/send.jpg" id="knap">
                </form>

Min case (der hvor billedet skal uploades og info gemmes i DB):
Case "CreateEksempel"
        Set Upload = Server.CreateObject("Persits.Upload")
        Upload.OverWriteFiles = False
        Upload.Save Server.MapPath("./../images/eksempler") & "\"

        navn = Upload.Form("navn")
        link = Upload.Form("link")
        beskrivelse = Upload.Form("beskrivelse")
        pic = Upload.Form("pic")

        Set pic1 = Upload.Files("pic")
            if pic1 is nothing then
                pic1a = ""
            else
                pic1a = pic1.ExtractFileName
        end if

        sql ="insert into Exempler (Navn,Billede,Link,Beskrivelse) values ("&"'"&navn&"','"&pic1a&"','"&link&"','"&beskrivelse&"')"
        conn.execute(sql)
        response.Redirect("eksempler.asp?oprettet=1")

Det sjove er, at hvis jeg ikke vælger at vedhæfte et billede så gemmes de øvrige info fint i databasen - uanset om jeg opretter eller opdaterer.

Skal lige nævnes at sitet er delt i 2 frames - men det skulle jo ikke betyde noget.

Håber der er nogen der kan hjælpe.
Avatar billede webbe Nybegynder
31. august 2005 - 12:19 #1
Kan lige tilføje, at jeg har brugt Persits.Upload mange gange før uden problemer.
Avatar billede softspot Forsker
31. august 2005 - 12:26 #2
Findes den folder du forsøger at gemme filen i? Hvis ja, har IUSR rettigheder til at skrive/oprette i folderen?
Avatar billede webbe Nybegynder
31. august 2005 - 12:33 #3
Ja - mappen findes...

Hvad angår IUSR og rettigheder så ved jeg det ikke - men det er vel dem der hoster domænet der skal tildele de rettigheder!?
Avatar billede softspot Forsker
31. august 2005 - 12:36 #4
Ja, hvis du beder dem om at give skriverettigheder til IUSR, for det tror jeg ikke er standardindstillinger (da det gør sikkerheden svagere at IUSR kan skrive til webserveren)...
Avatar billede webbe Nybegynder
31. august 2005 - 12:42 #5
Det er bare spøjst - har nemlig ALDRIG haft de problemer før....og det er samme hoster....
Avatar billede softspot Forsker
31. august 2005 - 12:45 #6
Det var også bare et forslag, det er jo ikke sikkert at det er problemet :)

Men hvis du ikke har andre ting du kan forfølge, så kan du da starte med at udelukke den mulighed du kender ;) - så kan det være der dukker nogle nye op hen ad vejen...
Avatar billede cpufan Juniormester
31. august 2005 - 19:55 #7
hvad med

Upload.Save Server.MapPath("./../images/eksempler/")
Avatar billede cpufan Juniormester
31. august 2005 - 19:56 #8
hov der mangler jo en .

Upload.Save Server.MapPath("../../images/eksempler/")
Avatar billede softspot Forsker
31. august 2005 - 20:06 #9
Det kommer jo an på hvilken folder man ska have fat i :)
Avatar billede webbe Nybegynder
01. september 2005 - 07:15 #10
Stien til mappen eksempler er rigtig nok...så det er ikke der fejlen er.

Iøvrigt får man også en anden fejlmeddelelse hvis mappen ikke findes på serveren ;0)
Avatar billede softspot Forsker
01. september 2005 - 12:26 #11
Har du et eksempel på noget kode du ved fungerer?
Avatar billede webbe Nybegynder
01. september 2005 - 12:47 #12
Set Upload = Server.CreateObject("Persits.Upload")
Upload.OverWriteFiles = False
Upload.Save Server.MapPath("./../images/galleri") & "\"

point = upload.form("m")
grp = upload.form("grp")
navn = upload.form("navn")
besk = replace(replace(upload.form("besk"),"'","´"),"""","´´") 'erstatter farlige tegn

Set pic1 = Upload.Files("pic1")
    if pic1 is nothing then
        pic1a = ""
    else
        pic1a = pic1.ExtractFileName
    end if


Den virker - også med en formular bygget på nøjagtigt samme måde som den hvor problemet er.

Det her eksempel håndterer endda upload af op til 25 billedfiler på én gang (er bare ikke vist).
Avatar billede softspot Forsker
01. september 2005 - 12:57 #13
Har du snakket med din udbyder vedr. rettighederne til den folder (eller kan du selv se om der er skriverettigheder)? Det er stadig mit bedste bud på hvorfor det ikke fungerer...

En anden ting (og det er ikke fordi jeg ikke tror du ved det - men så er jeg sikker på at du ved det :)), hvis det er en linux, så er stinavne case sensitiv, kan det have noget med det at gøre?

En sidste ting: mens du venter på et bedre bud, vil jeg da anbefale at du sikrer dig 100%, at den sti du gemmer til rent faktisk er den du vil gemme til (bliver scriptet f.eks. kaldt fra en anden folder end du forventede da du skrev din relative sti?)...

Du kan jo eksperimentere lidt med at udskrive Server.MapPath(".") og at skrive stien til images/eksempler relativt fra roden i stedet for relativt fra den aktuelle folder...
Avatar billede webbe Nybegynder
01. september 2005 - 13:00 #14
Jeg har snakket med min udbyder, men ikke omkring skriverettigheder.

Det kører på en Windows-server.

Og jeg er 100% sikker på det er en sti/mappe jeg vil gemme til.
Avatar billede softspot Forsker
01. september 2005 - 15:10 #15
Har du prøvet om din kode kan gemme uploads, hvis du ændrer stien til galleri  i stedet for eksempler, altså bruger stien fra det eksempel der fungerer...?
Avatar billede softspot Forsker
01. september 2005 - 15:11 #16
...bare for at se om det er koden eller siten der fejler.
Avatar billede softspot Forsker
01. september 2005 - 15:20 #17
siten = stien
Avatar billede webbe Nybegynder
01. september 2005 - 15:31 #18
er prøvet - har en maskine med komponentet installeret lokalt - og der virker det
Avatar billede softspot Forsker
01. september 2005 - 15:46 #19
Jeg synes ikke det giver meget mening hvorfor du får en fejl, med de informationer du giver os. Jeg kan ikke umiddelbart gennemskue hvad problemet er på det grundlag, så jeg tror bare lige jeg skifter mig selv ud...
Avatar billede cpufan Juniormester
01. september 2005 - 16:51 #20
skriverettigheder mangler på mappen
jævnfør persits support:
http://support.persits.com/show.asp?code=PS02062099
Avatar billede softspot Forsker
01. september 2005 - 16:54 #21
Det har webbe jo allerede udelukket eller forkastet, så det kan jo ikke være det ;)
Avatar billede cpufan Juniormester
01. september 2005 - 17:00 #22
øhm, det er så kun hvis sitet ligger under

c:\Inetpub\wwwroot

men det kan jo være serveren er opbygget på denne måde?
Avatar billede cpufan Juniormester
01. september 2005 - 17:01 #23
det har han jo så ikke jvf. 01/09-2005 13:00:14
Avatar billede softspot Forsker
01. september 2005 - 17:02 #24
Næh, uanset hvor det ligger så skal IUSR have rettigeder til at skrive til kataloget. Desuden indikerer stien i MapPath vel også ret kraftigt at det ligger indenfor websitet... eller nej?
Avatar billede softspot Forsker
01. september 2005 - 17:03 #25
Nej, men har har i det mindste valgt at forkaste muligheden i.o.m. han ikke har spurgt sin udbyder om det.
Avatar billede cpufan Juniormester
01. september 2005 - 17:06 #26
jo men det jeg mener er at ifølge http://support.persits.com/show.asp?code=PS02062099

kommer fejlmeddelelsen
"The system cannot find the file specified. "
istedet for "permission denied" kun
når sitet ligger i "c:\Inetpub\wwwroot" og derunder

min webserver og de fleste andre webhoteller,
bygger ikke deres server op, med C:\inetpub\wwwroot som webdirectory
Avatar billede softspot Forsker
01. september 2005 - 21:25 #27
Jeg har fået flg. til at fungere hos mig. Du skal huske at tømme din cache (og slette offline filer) når du eksperimenterer med dette her, for browseren cacher resultaterne og selvom du har rettet i stream-sourcen (f.eks. sat AddHeader ind i stedet for ContentType på Response), så er det ikke sikkert at du får det rigtige resultat tilbage. nå, men her er altså den kode hvormed jeg kunne hente et word-dokument:

<%@ language="vbscript" %>
<%
Const adTypeBinary = 1
filename = server.mappath("Invitationsliste.doc")
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Open
objStream.Type = adTypeBinary
objStream.LoadFromFile filename
arrFilename = split(filename,".")
Select Case arrFilename(ubound(arrFilename))
    Case "asf"
        ContentType = "video/x-ms-asf"
    Case "avi"
        ContentType = "video/avi"
    Case "doc"
        ContentType = "application/msword"
    Case "zip"
        ContentType = "application/zip"
    Case "xls"
        ContentType = "application/vnd.ms-excel"
    Case "gif"
        ContentType = "image/gif"
    Case "jpg", "jpeg"
        ContentType = "image/jpeg"
    Case "wav"
        ContentType = "audio/wav"
    Case "mp3"
        ContentType = "audio/mpeg3"
    Case "mpg", "mpeg"
        ContentType = "video/mpeg"
    Case "rtf"
        ContentType = "application/rtf"
    Case "htm", "html"
        ContentType = "text/html"
    Case "asp"
        ContentType = "text/asp"
    Case Else
        'Handle All Other Files
        ContentType = "application/octet-stream"
End Select
Response.AddHeader "Content-Type", ContentType & "; charset=windows-1252"
Response.AddHeader "content-disposition", "attachment;filename=" & filename
 
Response.BinaryWrite objStream.Read
%>


Som du kan se så har jeg hardcoded et worddokument ved navn invitationsliste.doc, men du kan nok gennemskue at dit recordset med filnavn skal ind der i stedet :)
Avatar billede softspot Forsker
01. september 2005 - 21:29 #28
UUUUUUNDSKYYYYYLD! Forkert tråd! Dumme mig! Sorry! Skal (måske) aldrig ske igen! Det lover jeg... :|
Avatar billede webbe Nybegynder
02. september 2005 - 07:35 #29
Hejsa

Har absolut IKKE forkastet muligheden med at der ikke er skriverettigheder til mappen. Har bare ikke haft tid til at undersøge det nærmere.

Mit site er ikke bygget op under C:\Inetpub\wwwroot - det er bygget op som C:\Projektnavn.dk\www (nøjagtig samme struktur som min udbyder kører det).

Men vil lige kaste den fejlstatus som cpufan har fundet frem i nakken af min udbyder idag.
Avatar billede webbe Nybegynder
03. februar 2006 - 23:45 #30
lukker - men giver cpufan point for indsatsen
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