我有一个JHipster生成的角度前端。所有与该应用程序相关的媒体都存储在亚马逊网络服务S3上。为了获取或上传媒体,客户端向后端请求预签名的url。然后,它应该使用该预签名的url来检索媒体。
问题是,http请求get以某种方式被处理,它总是在预签名的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...请求
发布于 2019-05-11 02:49:35
您要导航到的URL以" (在URL中显示为%22 )开头,这会导致请求将该URL附加到现有URL,而不是直接请求它。如果URL以http://、https://或//开头,它将正常工作。
https://stackoverflow.com/questions/56060378
复制相似问题