Firefox на iOS не будет открывать полученные файлы BlobIOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Firefox на iOS не будет открывать полученные файлы Blob

Сообщение Anonymous »

На веб-сайте React я призываю следующую функцию открыть файл Blob (PDF или несколько типов изображений), который я получил на сервере после того, как пользователь нажимает кнопку.function viewDocument(userId, documentId, accessToken) {
const url = new URL("https://my-api/my-controller/Document");
url.searchParams.set("UserId", userId);
url.searchParams.set("DocumentId", documentId);

fetch(url.toString(), {
method: 'get',
mode: 'cors',
credentials: 'include',
headers: {
authorization: "Bearer " + accessToken
},
body: null
})
.then((response) => {
if (!response.ok) { throw response }
response.blob().then((blob) => {
const objUrl = window.URL.createObjectURL(new Blob([blob], {type: blob.type}));
window.open(objUrl);
});
})
.catch( error => {
// handle error
});
};
< /code>
Политика безопасности моего контента включает в себя следующее: < /p>
default-src 'self';
frame-src 'self' blob:;
img-src 'self' blob:;
object-src 'self' blob:;
< /code>
Код API .net Core для извлечения документа с сервера выглядит следующим образом: < /p>
[HttpGet("api/[controller]/Document")]
[Authorize]
public async Task GetDocument(string userId, long documentId)
{
var fileExtensions = new Dictionary()
{
{".gif", "image/gif"},
{".jpg", "image/jpg"},
{".jpeg", "image/jpeg"},
{".pdf", "application/pdf"},
{".png", "image/png"},
{".tif", "image/tif"},
{".tiff", "image/tiff"}
};
var filePath = "some-file-path";
var fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read);
var contentType = fileExtensions[Path.GetExtension(filePath).ToLower()];
return File(fileStream, contentType);
}
< /code>
С помощью этого кода и конфигурации мой веб -сайт работает так, как предназначен для последних версий Chrome (Android & ios), Safari (iOS), Edge (Android & IOS) и Firefox (Android), открыв новую вкладку с содержанием Blob. В некоторых случаях мне приходилось давать разрешения или разблокировать всплывающие окна в настройках, и это следует ожидать. Я подключил телефон к Mac и отладил страницу ... капля извлекается без ошибок, но следующая команда, чтобы открыть URL -адрес blob, просто проигнорируется по какой -то причине. Я протестировал другие веб -сайты в этом браузере, и он, кажется, открывает для них новые вкладки. Для моего веб -сайта он просто ничего не делает, когда я нажимаю на кнопку. Такое поведение похоже на то, что я видел в Safari (iOS), прежде чем я разблокировал всплывающие окна в настройках Safar, но разблокировать всплывающие окна в настройках Firefox (iOS) вообще не помогла ... новая вкладка не открывается, когда я нажимаю на кнопку. Я надеюсь, что кто -то видел это поведение и знает, что происходит.


Подробнее здесь: https://stackoverflow.com/questions/796 ... blob-files
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Firefox на iOS не будет открывать полученные файлы Blob
    Anonymous » » в форуме Javascript
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Ошибка авторизации Hazure Blob Blob -Blob
    Anonymous » » в форуме C#
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Ошибка авторизации Hazure Blob Blob -Blob
    Anonymous » » в форуме C#
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Ошибка авторизации Hazure Blob Blob -Blob
    Anonymous » » в форуме C#
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Пути файлов хранилища Blob Blob -Blob
    Anonymous » » в форуме IOS
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous

Вернуться в «IOS»