Avatar billede jonas_h Nybegynder
08. juni 2006 - 22:59 Der 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:

Set fbase = Server.CreateObject("Chili.Upload.1")
fbase.SizeLimit = 500000
fbase.SaveToFile(Server.mapPath("/") & "/" & "test.dat")

Hvor man så inden har send en fil-form med. Men hvor er det lige denne form optræder i koden??
Avatar billede madeindk Nybegynder
08. juni 2006 - 23:03 #1
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"

<form method="post" enctype="multipart/form-data" action="uploadside.asp">
<input type="file" name="file">
</form>
Avatar billede jonas_h Nybegynder
08. juni 2006 - 23:05 #2
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?
Avatar billede madeindk Nybegynder
08. juni 2006 - 23:09 #3
Ok - men det hedder den også i det eksempel jeg har smidt :-)

Men nej - kender ikke til det Chilip!Upload - men i andre kompoenter spørger man på en form via Replace(Upload.Form("formnavn"),"'","´")
Avatar billede jonas_h Nybegynder
08. juni 2006 - 23:10 #4
Kan jeg lige prøve. Men alt plejer jo at være lidt anderledes når det er ChiliASP, men nu må vi se :) Det må dog blive i morgen!
Avatar billede madeindk Nybegynder
08. juni 2006 - 23:11 #5
Ok - fint fint :-)
Avatar billede ellebaek Nybegynder
08. juni 2006 - 23:18 #6
I chiliupload hedder det formData.

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.

håber det var forståeligt :-)
..Ellebæk!
Avatar billede jonas_h Nybegynder
08. juni 2006 - 23:21 #7
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?
Avatar billede ellebaek Nybegynder
08. juni 2006 - 23:26 #8
det kan du lave med:
sourcefileextension

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
Avatar billede ellebaek Nybegynder
08. juni 2006 - 23:28 #9
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
Avatar billede jonas_h Nybegynder
08. juni 2006 - 23:31 #10
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.
Avatar billede ellebaek Nybegynder
08. juni 2006 - 23:34 #11
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.
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