Контекст: Я пытаюсь загрузить файлы в буфер для приложения AngularJS, чтобы переслать файл на бэкэнд для хранения на сервере (бэкэнд не находится под моим контролем), поэтому мне нужно получить данные файла в Blob, который затем загружает мои собственные серверы.
Проблема: Microsoft graph дает мне свое рекомендованное свойство @microsoft.graph.downloadUrl
в файле JSON, которое извлекает список всех файлов в текущей выбранной папке. Когда я использую его для загрузки самого файла, я получаю Access to XMLHttpRequest at [the URL from @microsft.graph.downloadUrl] from origin 'http://localhost:8080' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
Мой код:
const req = {
method: "GET",
url: file.item.downloadLink, // @microsoft.graph.downloadUrl
headers: {
Authorization: `Bearer ${this.token}`
},
eventHandlers: getEventUploadEvenHandlers(file), // update download progress bar
responseType: "blob"
};
const ret = await this.$http(req);
Мои исследования: Я просматривал эту статью с 5 лет go: https://github.com/microsoftgraph/microsoft-graph-docs/issues/43 Я прочитал всю статью о CORS и файлах здесь: https://docs.microsoft.com/en-us/onedrive/developer/rest-api/concepts/working-with-cors?view=odsp-graph-online Конечно, я прочитал документацию: https://docs.microsoft.com/en-us/graph/api/driveitem-get-content?view=graph-rest-1.0&tabs=http
Ничего не дало мне ответа на вопрос, почему проблема сохраняется. Если у вас есть опыт решения этой проблемы или вы заметите что-то, что, по вашему мнению, я пропустил, я был бы очень благодарен.
Спасибо за любую помощь