微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

cffile正在覆盖现有文件

如何解决cffile正在覆盖现有文件

nameconflict属性似乎没有很好的文档说明,所以也许我使用的是错误的。但是,如果我使用以下代码编写文件(二进制数据),它将覆盖现有的同名文件

<cffile action="write" file="/path/#data.name#" output="#d#" nameconflict="MakeUnique" mode="775">

解决方法

nameconflict="MakeUnique" 仅适用于<cffile action="upload"

覆盖文件是<cffile action="write"的默认行为

除非出于显示目的不需要确切的文件名,否则最好使用唯一ID作为文件名来确保我们不会覆盖文件。

<cfset newFile = '/path/' & CreateUUID() & '.' & ListLast(data.name,'.')>
<cffile action="write" file="#newFile#" output="#d#" mode="775">

注意:对于需要出于视图目的使用自定义文件名的用例,最好将原始文件名保存在数据库中,并将文件名保留在文件系统中的单独列中。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。