Toon posts:

[CF] spatieprobleem upload file

Pagina: 1
Acties:

Verwijderd

Topicstarter
Op het intranet dat ik maak kan men een document uploaden. Nou wil ik dat er een foutmelding komt wanneer de bestandsnaam een spatie bevat.

<CFSET spatie = ' '>
<CFSET zonderSpaties=#replacenocase(UploadFile, spatie, '', "ALL")#>
<CFIF #UploadFile# is not #zonderSpaties#>
<SCRIPT>javascript:alert('fout')</SCRIPT>
</CFIF>

MAAR, #UploadFile# is zoiets als C:\WINNT\TEMP\ACFA62.tmp

En ik heb al CLIENT.File enzo geprobeerd, maar het wil me niet lukken.
:(

  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 23:27

mulder

ik spuug op het trottoir

iets van
<cfif FindCase(UploadFile, " ") GT 0>
<script>alert('Fout');</script>
</cfif>

oogjes open, snaveltjes dicht


Verwijderd

Topicstarter
het probleem is dat de variabele UploadFile niet de bestandsnaam is, en ik de bestandsnaam alleen maar kan krijgen met CLIENT.File als die al upgeload is... :(

  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 23:27

mulder

ik spuug op het trottoir

Dus wil je clientside controleren. Dat moet met javascript. Die kan de waarde van een (document.form.naam) inputveld checken. Dan post je en kun je met cf dat zelfde ("Form.<naam>") inputveld gebruiken voor de juiste naam van het bestand.

oogjes open, snaveltjes dicht


Verwijderd

Ik heb het even herschreven volgens effectieve CF methodiek ;)
code:
1
2
3
4
5
6
7
8
9
10
11
<cftry>
<cfif NOT file.clientfile Contains " ">
 doorgaan
<cfelse>
 De orginele bestandsnaam bevat spaties
</cfif>



<cfcatch type="any">Er ging iets fout</cfcatch>
</cftry>

Om de file te controleren op server niveau (vanwege de mogelijkheid van MakeUnique bij een conflict in cffile) moet je file.serverfile gebruiken.

file.attributes wordt na elke cffile overschreven, en blijft zijn waarde behouden tot de volgende cffile aanroep.

Kortom:
file.clientfile = bestandsnaam zoals die origineel was.
file.serverfile = bestandsnaam op de server, en indien er al een identieke bestandsnaam aanwezig was, krijgt deze een unieke bestandsnaam.

Verwijderd

Topicstarter
b.dankt! Ik ga ermee aan de slag!!

  • Defspace
  • Registratie: Mei 2000
  • Laatst online: 27-08 11:17

Defspace

Administrator

Op het intranet dat ik maak kan men een document uploaden. Nou wil ik dat er een foutmelding komt wanneer de bestandsnaam een spatie bevat.
Mag ik vragen waarom ?
We zijn toch allang het 8.3 tijdperk gepaseerd ?

Verwijderd

Topicstarter
8.3 tijdperk :? ????

Verwijderd

Op zaterdag 06 juli 2002 22:36 schreef plukvandepetteflat het volgende:
8.3 tijdperk :? ????
8 = max. karakters bestandsnaam
3 = max. karakters extensie

Verwijderd

Topicstarter
ohja...

maar om dan even op zijn vraag terug te komen: Als men een file upload naar de server waarvan de bestandsnaam een SPATIE heeft, dan maakt de server (of wie/wat dan ook) er autotomatisch een UNDERSCORE van, maar niet in mijn database, waardoor het dus allemaal niet meer klopt.

  • jochemd
  • Registratie: November 2000
  • Laatst online: 31-08 19:19
Op zaterdag 06 juli 2002 22:51 schreef plukvandepetteflat het volgende:
ohja...

maar om dan even op zijn vraag terug te komen: Als men een file upload naar de server waarvan de bestandsnaam een SPATIE heeft, dan maakt de server (of wie/wat dan ook) er autotomatisch een UNDERSCORE van, maar niet in mijn database, waardoor het dus allemaal niet meer klopt.
Dan doe je toch even een replace op wat er in je database komt.
Replace(cffile.serverfile," ","_","All")

Verwijderd

Topicstarter
ik ga het proberen - hold on!

Verwijderd

Topicstarter
U R my hero :9~ het werkt nl perfect!!

dankjewel!!!
Pagina: 1