Имя MMS-файла Vcard всегда "текст 1" - PullRequest
3 голосов
/ 28 марта 2019

При отправке файла vcard в SMS-сообщении через Twilio с использованием опции mediaUrl он отображается на iPhone с «текстом 1» рядом с файлом, как будто «текст 1» является именем файла.

Я попытался переименовать файл vcard, используя примеры файлов vcard и т. Д. Независимо от того, какие файлы отображаются как «текст 1».

Example vcf

Я пробовал на iPhone 8 и 10. Я пробовал чистые VCF-файлы и полнофункциональные файлы из Outlook, и даже примеры в Интернете, такие какhttp://www.w3.org/2002/12/cal/vcard-examples/john-doe.vcf - несмотря ни на что, они отображаются на iPhone как «текст 1».

Что я могу сделать, чтобы это был либо номер телефона, либо имя?

Редактировать --- После комментария от @philnash я смог добавить заголовок размещения контента вфайл, который теперь возвращается в заголовках следующим образом:

 Content-Disposition: attachment; name="John Doe"; filename="john-doe.vcf" 

Вот скриншот из Fiddler:
Fiddler screenshot

Я также переименовалфайл с уникальным именем и повторите попытку в случае, если Twilio или где-нибудь в пути кеширует старый файл.Заголовок есть, но в сообщении по-прежнему отображается «текст 1» на iPhone.

На случай, если это как-то связано с хранилищем BLOB-объектов Azure.Я также кодировал действие файла ASP.Net MVC, которое возвращает файл с заголовками удаления содержимого - оно также отображается как «текст 1» на iPhone.IIS server

Ответы [ 4 ]

1 голос
/ 04 апреля 2019

Не исправить, просто добавлю, что этот опыт также реплицируется на Android 9 (пирог).Единственное несоответствие с вышесказанным - файл text_1.

1 голос
/ 05 апреля 2019

Я проверил это, так как у меня была та же проблема.Появляется после отправки Vcard, последующие отправки того же Vcard приводят к отправке текста 1 для имени Vcard.Тем не менее, для отправки новым получателям отправляет с именем.... по крайней мере из моих тестов.

1 голос
/ 28 марта 2019

Разработчик Twilio здесь.

Когда Twilio предоставляет метаданные для MMS, он делает это на основе заголовка Content-Disposition, который он получает при запросе мультимедиа по указанному вами URL-адресу. Когда его нет, ему присваивается что-то общее, например, «текст 1».

Чтобы преодолеть это, вам нужно установить заголовок ответа Content-Disposition для файла, который вы обслуживаете. В этом заголовке вы можете объявить имя и имя файла. Я не смог проверить это (я не в США, поэтому не могу получить MMS от Twilio), но я предполагаю, что имя используется, хотя я бы тоже проверил с именем файла.

Заголовок должен выглядеть примерно так:

Content-Disposition: attachment; name="John Doe"; filename="john-doe.vcf"
0 голосов
/ 21 июня 2019

Я потратил много времени на устранение неисправностей. Я почти собирался сдаться. Но затем я отправил свой собственный контакт через телефон с помощью mms на номер, контролируемый twilio, чтобы я мог видеть, какие заголовки захватывал Twilio, когда исходил прямо с iphone. Вот когда я заметил этот важный заголовок:

Content-Disposition: inline; filename="what-to-show.vcf"

Ключевым моментом здесь является аргумент "inline", "attachment" не работает. Затем мои вещи появились на iOS, как я и хотел. («что показать» вместо «текст 1»). Отлично!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...