2016-01-18 10 views
3

Я использую cfmailparam для прикрепления файлов к электронному письму. Я получаю имена файлов и пути из своей базы данных. Как правило, прикрепленные файлы имеют уникальные имена, но я могу получить свои оригинальные имена файлов, запрашивая следующие столбцы в таблице БД:Изменение имени файла вложения на Coldfusion

  • ASSET_FILE_NAME: уникальное имя
  • ASSET_REAL_NAME: original_name_before_upload.pdf

Когда я отправляю электронное письмо с помощью cfmail, вложения по-прежнему используют уникальные имена, но мне действительно нужно их переименовать. Я искал и попробовал также:

<cfloop from="1" to="#assetfiles.RecordCount#" index="i"> 
    <cfmailparam 
     file="C:\files\#assetfiles.ASSET_FILE_NAME[i]#" 
     type="application/pdf" 
     disposition="attachment; filename=""#assetfiles.ASSET_REAL_NAME[i]#""" 
    /> 
</cfloop> 

Но это не работает для всех файлов вложений. Он изменяет только одно имя файла, а остальные все еще используют уникальные имена.

Есть ли все шансы сделать это возможным?

ответ

4

Есть несколько способов, вы могли бы сделать это

  1. Вы можете переименовать файлы сами
  2. Создание копий, а затем использовать атрибут cfmailparam
  3. remove="true" Прочитайте файлы с нечетными именами и присоединять их с новым именем <cfmailparam file="niceName.pdf" content="#fileRead(oddName.pdf)#">
+0

Дорогой Мэтт Буше, спасибо за ваш ответ. Я сейчас пытаюсь. Я буду писать снова результат, если успех или нет. Еще раз спасибо. – yasint

+0

Вариант 2 работал для меня. Однако в моем случае вариант 3 создал правильно прикрепленный, но пустой файл pdf. Использование CF9,0,1,274733. – Micah