08. juni 2006 - 22:59Der er
10 kommentarer og 1 løsning
Chili!Upload
Jeg har nu siddet go set adskillige eksempler på nettet og kan simpelthen ikke forstå hvordan man kan uploade filer vha. Chili!Upload... Får dette eksempel på samtlige sider:
Den optræder højst sandsynligt ikke i din ASP kode. Den skal du selv skrive via HTML - du kan eksempelvis prøve med følgende. Du skal blot rette hvad din side hedder i action="uploadside.asp"
Ja ok. Synes dog det er en lidt mærkelig måde.. Så kræves det bare fra upload-komponenten, at fil-formen hedder "file"? VEd du hvordan, man får "adgang" til input-felter i samme form vha. CHili-komponenten?
Altså: fbase.FormData("feltnavn") Når du skal hente en værdi ud af en form...
Du skal huske at denne linie: fbase.SaveToFile(Server.mapPath("/") & "/" & "test.dat") lige nu referere direkte til roden i dit webhotel.
Måske skulle du have en mappe der hedder fx. upload eller tilsvarende du uploader i.
Det er aldrig en god ide at have skrivetilladelse i roden på dit webhotel. Og det kræver at du har skriverettigheder til omverdenen hvis du skal kunne oploade filer til din hjemmeside.
Jeps, er klar over det med stien. Men indtil nu, er det bare noget kode som jeg bruger til at få det til at virke. Derefter laver jeg selvfølgelig "kontrol" med hvor folk smider filer hen.
Hvordan får man en begrænsning på, så det f.eks. kun er billedfiler der kan uploades?
set fbase = Server.CreateObject("Chili.Upload.1") fbase.SizeLimit = 500000 if inStr(fbase.sourcefileextension,".jpg, .jpeg, .gif, .png")>0 then fbase.SaveToFile(Server.mapPath("/") & "/" & "test.dat") else response.write "Du må kun uploade billeder" end if
sourcefileextension er filens endelse. Det jeg gør i ovenstående er så at tjekke om den extension er i den streng der står bagefter. så kan strengen blot udvides.
For at gøre det lidt mere overskueligt, så ville jeg smide strengen op som en variabel som det her:
set fbase = Server.CreateObject("Chili.Upload.1") fbase.SizeLimit = 500000 allowedFiles = ".jpg, .jpeg, .gif, .png" if inStr(fbase.sourcefileextension,allowedFiles)>0 then fbase.SaveToFile(Server.mapPath("/") & "/" & "test.dat") else response.write "Du må kun uploade billeder" end if
Kanon. Jeg kommer til at lave det sådan, at det er én funktion som laver upload på alle sider. PÅ den måde er det let at skifte server, som måske ikke har Chili. SÅ kan jeg bare smide de tilladte filtyper med som argument.
ja, det kan du sagtens.... det ville da være smart :-)
Jeg bliver nødt til at hoppe under dynen, men vover pelsen og smider et svar.. Håber det virker som det skal.
Synes godt om
Ny brugerNybegynder
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.