4

我目前正在尝试创建一个页面,乐队可以将他们自己的徽标上传到网站上,以便在需要的地方使用。目前,我创建了一些东西,允许用户将徽标上传/删除到分配的目录。但我想要做的不是创建一个band_logo 字段,而是拥有它,以便乐队徽标文件名成为数据库中乐队的ID。由于这是独一无二的,这意味着我没有冗长的过程来创建一个字段来保存他们的徽标名称。我知道有一个cffile action="rename"选择,但这是一个更冗长的做事过程。

4

2 回答 2

8

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

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

请参阅在上传文件时重命名文件(CFFILE 的实际工作原理)

顺便说一句,在谷歌搜索“ cffile upload 上的名称文件”发现那篇文章......

但是,您仍然可能希望使用

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

因为除非您在客户端获取文件扩展名并将其传递给服务器,否则如果他们不上传文件扩展名.jpg或您指定的任何扩展名,硬编码文件扩展名可能会导致问题。它没有那么多代码或开销,而且更安全。

于 2013-03-04T11:44:05.357 回答
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>
于 2017-07-20T17:16:17.403 回答