Как вы можете получить ссылку на zip-файл, встроенную в электронное письмо для загрузки? ⇐ C#
-
Anonymous
Как вы можете получить ссылку на zip-файл, встроенную в электронное письмо для загрузки?
Следующий код создает ссылку, содержащую zip-файл в контейнере хранилища BLOB-объектов:
общедоступная строка GetPublicUrl (строка имя контейнера, строка имя_блоба, срок действия DateTime, разрешения BlobSasPermissions = BlobSasPermissions.Read, строка fileName = null, bool isAttachment = false) { вар контейнерКлиент = GetContainerClient(имяконтейнера); вар blobClient =ContainerClient.GetBlobClient(blobName); если (!blobClient.CanGenerateSasUri) возвращает ноль; var sas = blobClient!.GenerateSasUri ( новый BlobSasBuilder(BlobSasPermissions.Read, срок действия) { ContentDisposition = !string.IsNullOrEmpty(fileName)? $"{(isAttachment? "attachment; ": "")}filename={HttpUtility.UrlEncode(fileName)}; filename*=UTF-8''{Uri.EscapeDataString(fileName)}" : null, CacheControl = "без кэша" } ); вернуть sas.ToString(); } Затем я вставляю эту ссылку в электронное письмо, которое отправляю через Sendgrid.
Проблема заключается в том, что созданная ссылка не открывается и не загружает файл на всех компьютерах, особенно на компьютерах Mac. Новая вкладка открывается, но затем сразу закрывается без загрузки файла.
Когда я копирую ссылку и вставляю ее прямо в новую вкладку, zip-файл загружается.
Есть ли у кого-нибудь предложения?
Следующий код создает ссылку, содержащую zip-файл в контейнере хранилища BLOB-объектов:
общедоступная строка GetPublicUrl (строка имя контейнера, строка имя_блоба, срок действия DateTime, разрешения BlobSasPermissions = BlobSasPermissions.Read, строка fileName = null, bool isAttachment = false) { вар контейнерКлиент = GetContainerClient(имяконтейнера); вар blobClient =ContainerClient.GetBlobClient(blobName); если (!blobClient.CanGenerateSasUri) возвращает ноль; var sas = blobClient!.GenerateSasUri ( новый BlobSasBuilder(BlobSasPermissions.Read, срок действия) { ContentDisposition = !string.IsNullOrEmpty(fileName)? $"{(isAttachment? "attachment; ": "")}filename={HttpUtility.UrlEncode(fileName)}; filename*=UTF-8''{Uri.EscapeDataString(fileName)}" : null, CacheControl = "без кэша" } ); вернуть sas.ToString(); } Затем я вставляю эту ссылку в электронное письмо, которое отправляю через Sendgrid.
Проблема заключается в том, что созданная ссылка не открывается и не загружает файл на всех компьютерах, особенно на компьютерах Mac. Новая вкладка открывается, но затем сразу закрывается без загрузки файла.
Когда я копирую ссылку и вставляю ее прямо в новую вкладку, zip-файл загружается.
Есть ли у кого-нибудь предложения?
Мобильная версия