【发布时间】:2009-08-20 17:36:33
【问题描述】:
有没有办法让“图像”模块在上传时以新名称存储文件?基本上,有人可以上传一个文件,上面写着“mac 很酷”或同样荒谬的东西。现在,我不希望人们看到这一点。我宁愿在上传时将所有文件重命名为:“111494949478383.jpg”。我将如何实现这一目标?
【问题讨论】:
有没有办法让“图像”模块在上传时以新名称存储文件?基本上,有人可以上传一个文件,上面写着“mac 很酷”或同样荒谬的东西。现在,我不希望人们看到这一点。我宁愿在上传时将所有文件重命名为:“111494949478383.jpg”。我将如何实现这一目标?
【问题讨论】:
FileField Paths 模块应该做你想做的事。它适用于核心 Upload 以及 FileField 和 Imagefield 模块。您可能还想查看Imagefield Tokens,它允许在图像的默认替代文本等内容中使用节点标记。
【讨论】:
您可以使用“filefield Paths”模块,并输入文件名[raw],这样上传的图片就会有节点的时间戳创建时间。
你也可以使用 [raw]_[filename].[file-extension] 或任何你可以使用的组合,看看“文件名替换模式”
【讨论】:
使用 hook_nodeapi,您可以在保存节点时移动文件并重命名图像。
或者您可以在图片上传回调中添加一些内容,使用钩子表单更改来在图片上传后重命名图片
【讨论】:
是的,form_alter 是解决这个问题的方法
【讨论】:
有些文件模块基本上使用令牌来执行此操作
编辑还图像字段支持令牌http://drupal.org/node/152640 如果 cck 转到 Drupal 7,从长远来看,immagefield 可能会更好
希望对你有帮助
【讨论】: