18. oktober 2005 - 14:05Der er
28 kommentarer og 1 løsning
HTTP Error 507 skrivning til db og upload af billede
Har lavet en formular til at redigere i noget tekst fra en mySQL database og samtidig med mulighed for at uploade et billede.
jeg kan sagtens få den til at opdatere teksten i database, men når jeg prøver at vedhæfte et jpg billede får jeg http error 507 der er ingen problemer når jeg prøver at bruge en gif fil i stedet for(gemmer stadig filen med .jpg på serveren) koden der skal gøre det hele ses nedenfor, har kigget efter fejl i flere dage, men uden held, så nu håber jeg der er nogen der har en idé til hvad jeg gør forkert.
Bliver filnavnet lagt i databasen, men filen ikke uploaded?
Hvis ja, har du så prøvet at udkommentere den linie hvor du sætter SizeLimit? Hvis den fungerer som ASPUpload, så kastes der en fejl hvis filen er for stor, så jeg spekulerede på om det kunne være problemet...
filnavnet bliver gemt i databasen ja. alle tingene bliver gemt fint nok i databasen så vidt jeg kan se.
tror ikke det er SizeLimit. da den godt kan finde ud af at uploade filen nogen gange.
det er ligesom om den der file upload bare ikke kan lide at blive lagt i min if/ else sætning.
hvis jeg kun har den første del på, altså hvor den både skriver til db og uploader filen, men ikke nogen if sætning, så virker det til syneladende fint, grunden til at jeg har lavet en if sætning er at det skal være muligt kun at rette på teksten. hvis jeg kører det uden if sætning vil den komme med en fejl om at FILE ikke indeholder en fil, så det er egentlig for at undgå det.
Hmmm... jeg er lidt skeptisk overfor den teori at det skulle være placeringen i en if-sætning der er problemet. Jeg er mere tilbøjelig til at tro det har noget med datagrundlaget (enten det der kommer ind i din form, eller det der eksisterer (eller ikke eksisterer) i databasen og skal opdateres...
Herunder har jeg lige lavet lidt brainstorming:
Er det altid opdateringer eller kan der ikke forekomme indsættelser?
Har du prøvet at udskrive de variable du forsøger at opdatere?
Har du prøvet at udskrive det SQL-statement du prøver at fyre at mod databasen for at se om der kunne være nogle åbenlyse mangler i det, når den fejler?
Set adoRS = Server.CreateObject ("ADODB.Recordset") adoRS.Open "SELECT * FROM forside WHERE TextID = '" & adoID &"'", adoConn
Du bruger ikke adoRs nogen steder efterfølgende, så det er der vel ikke nogen grund til at fylde med data...?
Hvad med de brainstormingspørgsmål jeg satte op... har du nogle erfaringer med dem?
Desuden spekulerede jeg på om det kunne have noget med Server.ScriptTimeout at gøre, altså at scriptet ikke får lov til at blive færdigt inden det timer ud?
når det fejler når jeg slet ikke så langt så jeg kan få skrevet strSQL ud.
hvis jeg bruger den med if sætning i, så får jeg bare den der HTTP error.
hvis jeg ikke bruger if sætning, så får jeg File element contains no data. hvis ikke der er en fil med.
lige i det her tilfælde opretter jeg ikke desideret billedet, det har jeg på forhånd skrevet ind i min database til altid at henvise til start.jpg da man ikke skal kunne oprette nye poster, kun redigere i den eksisterende ene.
19/10-2005 14:41:27 >> når du udskriver din SQL, hvor gør du så det (placeringen af linien i din kode)? Og husker du at stoppe udførslen af siden, så du kan se SQL-sætningen?
19/10-2005 15:02:20 >> Nej, du kan ikke kombinere Request.BinaryRead (som upload-komponenten gør for at få data ud af request-objektet) med Request.Form. Du skal have fundet ud af hvordan du kan checke om der er uploaded en fil.
Alternativt kan du prøve dette trick:
bHasFile = false on error resume next bHasFile = fbase.FormData("FILE") err.clear on error goto 0
Nej, det er en smule anderledes end MS, men dog alligevel pænt med, synes jeg.
Jeg var også lige forbi SUN's dokumentation af Chili.Upload, men jeg blev så arrig over dens mangelfuldhed, at jeg skyndte mig at lukke igen (dermed overså jeg så åbenbart muligheden for at spørge på FileSize)...
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.