Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] OSS SDK存在Content-Type强制覆盖导致用户设置无效 #16

Open
LeaFrock opened this issue Nov 18, 2022 · 6 comments
Open

Comments

@LeaFrock
Copy link

起因

在通过自定义域名访问OSS部分文件时,希望可以直接在浏览器中预览而非触发下载操作。

按照官方文档《通过文件URL访问图片无法预览而是以附件形式下载?》的说法,只需要设置Content-Disposition为inline即可。

但通过新版SDK上传图片、音频等文件后,通过浏览器访问地址仍始终触发浏览器下载操作。而旧版本SDK上传后,操作结果符合预期。

调查结果

在旧SDK中,会根据文件扩展名来决定Content-Type,如png图片文件是image/png

而在新版SDK中,则直接在AlibabaCloud.OpenApiClient.Client请求前headers["content-type"]强制覆盖成了application/octet-stream。在OSS Browser客户端查看文件时,其HTTP头如下:

1668763573863

将Content-Type改成image/png后,访问图片地址成功显示预览而非触发下载。

这应该是一个Bug,希望能尽快修复!@yndu13

@WessonStar
Copy link

@LeaFrock 请问你怎么解决的

@LeaFrock
Copy link
Author

LeaFrock commented Mar 7, 2023

@WessonStar 只能使用旧的,或者自己单独对用到的几个接口做封装。

阿里云团队似乎对.NET SDK的实现质量并不十分重视。

@WessonStar
Copy link

@LeaFrock 我发现 OSS 在一定程度内是兼容 AWS S3 协议的,所以使用最新版的 S3 SDK 操作 Object 即可。亲测可用,Content-Type 正常设置了

@LeaFrock
Copy link
Author

LeaFrock commented Mar 9, 2023

@WessonStar 你说的是这个吗?曲线救国了属于是 🤣

不过,哪天不再兼容S3或者SDK有什么功能调整,可能又会遇到新问题,感觉也是在埋坑。最好还是阿里云官方提供高质量的.NET SDK,哎……

@WessonStar
Copy link

@LeaFrock 但是目前,三个sdk里,s3 是最值得信赖的。阿里云明显对于 sdk 的维护不上心(很多年)。另一方面,也应当减少对 oss 专有特性的依赖。

@cipchk
Copy link

cipchk commented Nov 30, 2023

@sdk-team @peze @yndu13 都快一年了,都能提供一下修复呢?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants