20. august 2005 - 12:55Der er
31 kommentarer og 1 løsning
id på flere uploadede billeder..
Hej,
Jeg har det her script, som uploader et billede. Jeg vil nu gerne gøre det muligt at uplaode tre billeder.. Det kan jeg også godt, men det kniber lidt at få id'et på de to sidste.. jeg får på det første.
Enkelt billede upload:
' UPLOAD IMAGE SCRIPTS START Set Upload = Server.CreateObject("Persits.Upload")
' Obtain file object Set File = Upload.Files("FILE1")
If Not File Is Nothing Then
' Check size of the image If File.ImageWidth > 250 OR File.ImageHeight > 200 Then imgName = File.FileName Response.Redirect "nyartikel.asp?errormsg=Billedet, <b>" & imgName & "</b> er for stort" End If
I lang tid har samarbejdsbranchen fokuseret på at forbedre enhedsfunktioner – bedre kameraer, klarere lyd og smartere software. Men den virkelige forvandling handler ikke om funktioner.
Hvorfor gentager du ikke bare din kodeblok 3 ganeg, med 1-tallet skifetet ud med et 2-atk for anden gang, og et 3-tal for tredje? Og med newid1, newid2 og newid3 i stedet for blot newid?
Må være den første til at give fortabt.. det er første gang jeg bruger ASPUpload.. det er et eksempel jeg fik herinde.. og det virker også meget godt med ét billede.. :)
Ok så er det klart at du hele tiden trækker det samme id - du lægger nemlig slet ikke noget i databasen. Filerne bliver udelukkende lagt i filsystemet.
Du konstruere pænt nogle SQL-sætninger til at indsætte men de bliver bare aldrig udført.
Det forstår jeg ikke? Altså, filerne kommer ind i databasen.. det er kun id'et for hvert billede jeg ikke kan udskille.. hvis jeg går ind og ændrer det manuelt, virker det fint.. :)
Min fejl... Jeg spurgte til hvad File.ToDatabase betød og så henviste du til en side hvor den ikke forekom på ... og så sprang jeg til en lidt for hurtig konklusion.
Du skal vist huske at skrive Upload.Form("DESCR1") og Upload.Form("DESCR2") i stedet fro Upload.Form("DESCR"). Ellers er det da det samme som bliver lagt i tabellen hver gang.
Indholdet af image tabellen passer.. der er ikke noget galt med det.. Det kommer her jo Set File = Upload.Files("FILE1") Set File = Upload.Files("FILE2")
Hmmm, det er meget sjældent at jeg må give op, men dette er altså et af tilfældene.
Det er 100% at @@IDENTITY burde virke men det gør den altså ikke. Den eneste umiddelbare grund jeg han give er at databasen måske beslutter sig for at vente med at skrive til et senere tidspunkt for at belaste serveren så lidt som muligt.
Well, hvis metoden med at lægge 1 til det første for hvert billede fungere for dig så synes jeg at du skal bruge den. Problemet med denne opstår hvis der er to brugere som prøver at gøre det samme på samme tidspunkt – i dette tilfælde ville der kunne komme rod i id'erne for den ene og den anden bruger. Du er selv den bedste til at vurdere hvortit dette ville kunne ske.
Afslutningsvis vil jeg fraråd at du overhovedet lægger billeder i en database. Det giver langt bedre performance at have dem ude i filstrukturen.
Selvfølgelig.. ved du hvad. den køber vi bare den her.. så må jeg overveje alternativerne til det her.. grunden til at jeg vil have billederne i en db, er at jeg så slipper for at bekymre mig om filnavne.. ;)
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.