Запретить httpclient добавление URL сервера при вызове предварительно назначенного URL - PullRequest
0 голосов
/ 09 мая 2019

У меня есть угловой интерфейс, сгенерированный JHipster.Все медиа, связанные с приложением, хранятся на AWS S3.Чтобы получить или загрузить медиафайл, клиентская сторона запрашивает у внутреннего сервера предварительно назначенный URL-адрес.После этого он должен использовать этот предопределенный URL-адрес для извлечения мультимедиа.

Проблема в том, что запрос http обрабатывается каким-то образом, так как он всегда добавляет домен хоста шлюза перед предопределенным URL-адресом.

Функция, которая должна загружать медиа на s3:

    private save(presignedUri: string, file: File): Observable<HttpEvent<any>> {
        const formData: FormData = new FormData();
        formData.append('file', file);

        const headers = new HttpHeaders()
            .set('Content-Type', `${file.type}; charset=utf-8`);

        const req = new HttpRequest('POST', presignedUri, formData, {
            reportProgress: true,
            responseType: 'text',
            headers
        });

        return this.http.request(req);
    }

Я ожидаю, что он просто использует заданный предопределенный URL, вместо этого он пытается запросить с http://localhost:9001/%22https://s3.eu-central-1.amazonaws.com/19fa8b4d-av…gnature=6c96de...

1 Ответ

0 голосов
/ 10 мая 2019

URL-адрес, по которому вы переходите, начинается с " (отображается в виде %22 в URL-адресе), что заставляет запрос добавить URL-адрес к существующему URL-адресу, а не запрашивать его напрямую.Если URL начинается с http://, https:// или //, он будет работать правильно.

...