searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

对象存储上传成功,但是前端回调方法中返回的data是个空对象

2023-10-07 08:18:24
7
0

[问题现象]测试页调用上传,返回结果为空

 

[问题原因] 跨域配置,expose headers 加上ETag信息。

参考跨域配置如下所示

跨域访问设置跨域访问,即通过 HTTP 请求,从一个域去请求另一个域的资源。只要协议、域名、端口有任何一个不相同,都会被当作是不同的域。对象存储(融合版)针对跨域访问,提供CORS(Cross-Origin Resource Sharing 跨源资源共享)设置,对存储桶中的对象设置跨域访问 。

常见跨域问题如下所示

常见问题:1、来源Origin遗漏协议头

配置Origin必须加上协议头,如h t t p : / / 或 h t t p s : / / 。如果服务器的端口不是默认端口,还必须加上端口号。

2、Allow-Headers 没有设置为*

对象存储的请求参数很多都是放在http Header中,如果没有设置为*,容易遗漏必要的Header,导致请求失败。

3、分片上传失败

sdk进行分片上传,需要用到返回的Etag头。因此,使用分片上传,必须添加 Expose Header 参数,可以指定Etag。

注意:多个Header使用逗号隔开;不建议直接使用*,因为某些浏览器版本不支持*

4、请求失败(返回码不是200)提示跨域

请求失败的结果不会返回跨域头,因此请求失败会提示跨域属于正常现象,只需要关注失败的返回码,解决失败原因即可。

 

0条评论
0 / 1000
Mr. 油
89文章数
0粉丝数
Mr. 油
89 文章 | 0 粉丝
原创

对象存储上传成功,但是前端回调方法中返回的data是个空对象

2023-10-07 08:18:24
7
0

[问题现象]测试页调用上传,返回结果为空

 

[问题原因] 跨域配置,expose headers 加上ETag信息。

参考跨域配置如下所示

跨域访问设置跨域访问,即通过 HTTP 请求,从一个域去请求另一个域的资源。只要协议、域名、端口有任何一个不相同,都会被当作是不同的域。对象存储(融合版)针对跨域访问,提供CORS(Cross-Origin Resource Sharing 跨源资源共享)设置,对存储桶中的对象设置跨域访问 。

常见跨域问题如下所示

常见问题:1、来源Origin遗漏协议头

配置Origin必须加上协议头,如h t t p : / / 或 h t t p s : / / 。如果服务器的端口不是默认端口,还必须加上端口号。

2、Allow-Headers 没有设置为*

对象存储的请求参数很多都是放在http Header中,如果没有设置为*,容易遗漏必要的Header,导致请求失败。

3、分片上传失败

sdk进行分片上传,需要用到返回的Etag头。因此,使用分片上传,必须添加 Expose Header 参数,可以指定Etag。

注意:多个Header使用逗号隔开;不建议直接使用*,因为某些浏览器版本不支持*

4、请求失败(返回码不是200)提示跨域

请求失败的结果不会返回跨域头,因此请求失败会提示跨域属于正常现象,只需要关注失败的返回码,解决失败原因即可。

 

文章来自个人专栏
存储专栏
89 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0