阿里云图片上传OSS成功后打开地址不能预览只能下载问题记录

这篇具有很好参考价值的文章主要介绍了阿里云图片上传OSS成功后打开地址不能预览只能下载问题记录。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

        由于业务需要,最近从OSS新创建了一个bucket,使用之前的上传代码进行上传图片时可以看到图片上传成功,但是打开图片地址之后不能正常访问,浏览器会提示进行下载.好奇同样的代码,另一个bucket能正常上传,但是新创建的bucket使用同样代码之后就出现这个问题,怀疑是bucket配置问题,仔细翻阅资料之后终于知道了是哪的问题,在此简单记录一下.

官方说明:访问您的图片文件,无法预览,直接下载,是由于从从2019年9月23日起,针对之后新建的Bucket,直接使用OSS提供的默认域名,从互联网访问OSS上该Bucket的图片类型文件时,mimetype为以下值,Response
Header中会自动加上Content-Disposition:'attachment=filename;'。即从浏览器访问图片类型文件时,会以附件形式进行下载,如果您要直接在浏览器中预览文件而非下载文件,请设置文件HTTP头中的Content-Disposition为inline并使用Bucket绑定的自定义域名进行访问

        首先处理的第一个问题就是需要配置一个自定义的域名,这个规则是从2019.9.23之后开始生效的,就是说从2019.9.23之后创建的bucket需要配置已备案的域名,查看了一下之前的bucket是2019.6月份,当时没有配置备案域名也可以访问.域名配置可以参考:https://help.aliyun.com/document_detail/195675.htm?spm=a2c4g.11186623.0.0.736922936aZ1CL#task-2010682
另外记录一下其他的处理方案:
        因Content-Type设置导致的强制下载问题,您需要根据文件类型设置合理的Content-Type,同时确保浏览器支持预览该文件类型。关于Content-Type的更多信息,请参见如何设置Content-Type(MIME)
        因Content-Disposition设置导致的强制下载问题,您需要将Object Meta中的Content-Disposition设置为inline。具体步骤,请参见管理文件元信息
        因CDN缓存导致的强制下载问题,您需要更新CDN缓存信息。
        因浏览器不支持预览文件格式导致的强制下载,您需要确认浏览器已安装支持预览当前格式文件的插件。
        最后附上官方参考链接:如何配置访问OSS文件时是预览行为?
2023.11.19补充:文件上传文件名为中文名,上传成功后地地址中阿里云已对中文进行转码,如下图:
阿里云图片上传OSS成功后打开地址不能预览只能下载问题记录
上述地址浏览器打开会默认转码为中文,可以直接预览打开阿里云图片上传OSS成功后打开地址不能预览只能下载问题记录

如果服务端返回的地址中的文件名为未转码的中文(类似:https:a.com/测试.docx),从浏览器打开不能预览只能下载.对于客户端(小程序)此种地址可以支持直接访问,不影响使用.如果想和阿里云存储地址保持一致,服务端在上传接口返回地址中可以对上传的中文文件名进行转码.参考:文章来源地址https://www.toymoban.com/news/detail-443480.html

 	 String parameter = "关于开的通知.docx";
        String encodedParameter = URLEncoder.encode(parameter, "UTF-8");
        System.out.println(encodedParameter);

到了这里,关于阿里云图片上传OSS成功后打开地址不能预览只能下载问题记录的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包