Я перемещаю сайт с CF10 в Linux на CF2016 в Windows и столкнулся с проблемой вложений файлов с помощью cfmail.
Я прикрепляю файл в cfmail с помощью;
<cfmailparam file="#FileName#">
, а также пробовал варианты с расположением и без него и набираю:
<cfmailparam file="#FileName#" disposition="attachment;
filename=""#FileName#"""
type="#ContentType#/#ContentSubType#">
Но неважноЧто, в CF2016 в Windows имена моих вложений в Outlook отображаются как ATT00160.dat
(без установленного типа) или ATT00169.xlsx
(с установленным типом)
Кажется, что имена файлов более определенной длины вызывают проблему.Имя файла из 64 символов сломает его, но имя файла поменьше, скажем 49 символов, не будет.
При просмотре источника сообщений в Outlook из cfmail, отправленного из Windows, я вижу значение ниже.Обратите внимание, под content-type
имя было разделено?
Content-Type: application/octet-stream;
name*0=BLAH_BLAH1_Ownership_Database_Issue_2018-01_In_Development2.;
name*1=xlsx
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename*0=BLAH_BLAH1_Ownership_Database_Is;
filename*1=sue_2018-01_In_Development2.xlsx
То же вложение, отправленное cfmail из Linux, дает мне:
Content-Type: application/octet-stream;
name=BLAH_BLAH1_Ownership_Database_Issue_2018-01_In_Development2.xlsx
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename*0=BLAH_BLAH1_Ownership_Database_Is;
filename*1=sue_2018-01_In_Development2.xlsx
Обратите внимание, что имя content-type
не имеетбыл разбит.
У кого-нибудь есть идеи, как решить эту проблему?