Какие есть способы переопределить тип контента у файла, загруженного без blob?

Если вы хотите переопределить тип контента (Content-Type) файла, который был загружен без использования объекта Blob в JavaScript, у вас есть несколько способов сделать это.

1. Использование XMLHttpRequest:
Вы можете создать XMLHttpRequest объект и установить заголовок "Content-Type" в нужное значение перед отправкой запроса. Но нужно отметить, что этот метод может быть ограничен политиками безопасности браузера (CORS).

Вот пример кода:

var xhr = new XMLHttpRequest();
xhr.onload = function() {
  // ваш код обработки ответа
};
xhr.open('GET', 'url_файла', true);
xhr.setRequestHeader('Content-Type', 'новый_тип_контента');
xhr.send();

2. Использование fetch API:
Можно использовать fetch API для отправки запроса и установки типа контента с помощью метода Headers.set(). Опять же, нужно помнить о возможных ограничениях безопасности браузера.

Пример кода:

fetch('url_файла', {
  method: 'GET',
  headers: {
    'Content-Type': 'новый_тип_контента'
  }
})
.then(function(response) {
  // ваш код обработки ответа
});

3. Использование XHR.overrideMimeType():
Если вам необходимо изменить тип контента файла после загрузки, вы можете использовать метод XHR.overrideMimeType() для переопределения типа контента. Однако этот метод должен быть вызван до вызова XHR.send(), и это работает только для объектов XHR.

Пример кода:

var xhr = new XMLHttpRequest();
xhr.onload = function() {
  // ваш код обработки ответа
};
xhr.open('GET', 'url_файла', true);
xhr.overrideMimeType('новый_тип_контента');
xhr.send();

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