2013-03-04 52 views
3

我目前正在尝试创建一个页面,乐队可以将自己的徽标上传到网站,以便在需要时使用。目前,我已经创建了一些内容,允许用户将徽标上传/删除到分配的目录。但是我想要做的不是创建一个band_logo字段,而是将带标志文件名称变成数据库中的band标识。这是独一无二的,这意味着我没有创建一个字段来保存他们的徽标名称的漫长过程。我知道有一个cffile action="rename"选项,但这是一个更长时间的做事过程。使用cffile上传文件名可以更改吗?

回答

6

是的,如果您在destination中提供文件名,它将在上载时重命名该文件。

<cffile action="upload" destination="/path/to/some/directory/#session.bandName#.jpg" ... /> 

Renaming Files As They Are Uploaded (how CFFILE actually works)

BTW,为 “name file on cffile upload” 发现,文章谷歌搜索...

但是,你仍然可能要使用

<cffile action = "upload" ...> 
then 
<cffile action = "rename" ...> 

因为除非你抽丝客户端上的文件扩展名并将其传递到服务器,如果文件扩展名没有上传.jpg或您指定的任何扩展名。这不是太多的代码或开销,它更安全。

0
<cfif #ServerFileExt# EQ 'jpg'> 
<cffile action="upload" destination="/path/to/some/directory/#session.bandName#.jpg" /> 

<cffile action="rename" 
source="path/to/some/directory/#session.bandName#.jpg" 
destination="path/to/some/directory/#getData.bandsID#.jpg"> 

<cfelse> 

    <cflocation addtoken="no" url="back to form upload page"> 

</cfif> 
相关问题