coldfusion - 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">
注意:对于我们需要自定义文件名以供查看的用例,最好将原始文件名保存在数据库中,并将文件系统中的文件名保存在单独的列中。
推荐阅读
- jquery - 如何安装CKeditor 4
- r - 错误:pandoc 文档转换失败,错误 1
- php - symfony 安全登录(无效的凭据。)
- elasticsearch - ElasticSearch 数据类型关键字使其可搜索
- django - 如何在聊天框中获取特定发送者和接收者的数据?
- r - 仅更新 Shiny App 中数据框中的特定行
- python - Python 算法:项链生成 / 循环排列
- java - 这里将创建多少对象?
- spring - 如何在 AsyncExceptionHandler 中获取新的休眠事务?
- microsoft-graph-api - 在 Azure 中使用 Microsoft Graph Security API 检索建议