Файл угловой загрузки с xmlHttpRequest - PullRequest
0 голосов
/ 10 февраля 2019

Я пытаюсь воспроизвести mp3-файл в своем угловом веб-приложении.Поэтому я пытаюсь загрузить его в свой компонент с XMLHttpRequest, чтобы получить его как ArrayBuffer, например:

public loadFile = () => {
  if (this.context === undefined) {
    return;
  }
  this.xhr = new XMLHttpRequest();
  this.xhr.open("GET", "./plucky.mp3", true);
  this.xhr.responseType = "arraybuffer";
  this.xhr.onload = this.onLoadComplete;
  this.xhr.send();
}

, но я получаю ERROR 404 NOT FOUND, хотя mp3 находитсяв той же папке моего компонента.Как я могу загрузить его как ArrayBuffer?

Спасибо.

1 Ответ

0 голосов
/ 10 февраля 2019

Переместите файл в папку assets в src и укажите этот путь:

this.xhr.open("GET", "assets/plucky.mp3", true);

PS: Он может не работать в StackBlitz по той причине, что StackBlitzпериодически не распознает файл mp3.Но это будет работать без каких-либо проблем.Любой такой ресурс необходимо добавить в папку активов в папке src, а затем Angular CLI связывает его как часть пакета приложения, настроенного в angular.json, и, таким образом, он доступен через относительные URL.


Вот Образец StackBlitz для вашей ссылки.


Вот также РаботающийДемо для вашего реф.В нем вы должны увидеть журналы на консоли и вызов для получения музыкального файла на вкладке сети Dev Tools.

...