Как получить расширение файла при переименовании файла с помощью cffile - PullRequest
5 голосов
/ 16 февраля 2011

Я использую тег cffile, чтобы загрузить свой файл и сохранить его под новым именем.Моя проблема в том, что файл может иметь несколько разных форматов, и я не знаю, как определить расширение файла.Я использую код ниже:

<cfset ui = createUUID()>
<cffile 
  action="upload" 
  accept="video/x-flv, video/mp4, video/x-msvideo"
  destination="e:\www2\uploads\#ui#.#cffile.ServerFileExt#" 
  nameconflict="makeunique" 
  filefield="form.file"
>

Это говорит мне, что cffile не определен.

Ответы [ 2 ]

12 голосов
/ 16 февраля 2011

Я рекомендую сначала загрузить, а затем переименовать:

<cfset ui = createUUID()>
<cffile 
  action="upload" 
  accept="video/x-flv, video/mp4, video/x-msvideo" 
  destination="e:\www2\uploads\" 
  nameconflict="makeunique" 
  filefield="form.file"
/>
<cffile 
  action="rename" 
  source="e:\www2\uploads\#cffile.serverFileName#" 
  destination="e:\www2\uploads\#ui#.#cffile.serverFileExt#"
/>
0 голосов
/ 29 октября 2014

Я нашел эту удивительную функцию, созданную Райаном Стиллом

Она должна делать все, что вам нужно

Я использовал ее, чтобы получить расширение, затем я просто создал имя файлас UUID

<cffile action="upload" destination="file://upload_#createUUID()#.#fileExt#"  nameconflict="makeunique" result="#formField#">
...