图片上传到阿里云打开连接要显示而不是下载

怎么把一张图片上传到阿里云,打开这张图片的网址连接后要直接显示图片而不是变成下载
图片是上传上去了,只能到这里了,
从注册阿里云到上传图片都搞了我两小时
我需要很详细的步骤或远程协助

你上传的什么图片?后缀格式正确的话你访问地址浏览器会直接显示图片的。是不是你的图片后缀没给对,你检查一下。

你直接把路径用ip+文件名写在浏览器里。

就是a标签指定url就可以了啊,如果这个url能够直接在浏览器访问应该就可以。

这个一般上传阿里云都是下载的,你需要把图片上传到oss上,然后用浏览器打开那个网址能正常预览就没问题了!

别怕,有些能直接访问,有些方向就默然下载,别问我为啥会知道

搂上告诉你了,设置contentType,如果那边不能处理,那就自己写接口获取文件,自己设置下contentType

上传到OSS后,资源会自带一个响应体属性(具体忘记是啥属性,这个好像是不可改的),然后访问就会自动下载。
如果不想这样,需要设置设置自定义域名转到OSS,然后用自定义域名访问就不会出现这种情况了。

阿里云OSS存储为了安全考虑,从2019年9月23日起,针对之后新建的Bucket,直接使用OSS提供的默认域名,从互联网访问OSS上该Bucket的图片类型文件时,mimetype为以下值,Response Header中会自动加上Content-Disposition:'attachment=filename;'。即从浏览器访问图片类型文件时,会以附件形式进行下载。

如何实现点开图片链接就是预览

1:阿里云OSS自定义域名
2:采用Nginx反向代理实现

实现步骤:

1:阿里云OSS自定义域名,参见阿里云文档

绑定自定义域名 - 对象存储 OSS - 阿里云 https://help.aliyun.com/document_detail/31902.html?spm=5176.8466032.help.dexternal.757f1450DOqhsN

2:nginx反向代理

1)前提是你要有一台云服务器
2)你要会使用nginx
3)了解过nginx反向代理

nginx文档


server {
    listen 80;
    #listen 443;
    server_name 你的域名
    #ssl on; 配置https SSL证书

    #charset koi8-r;
    #access_log  /var/log/nginx/host.access.log  main;

   #SSL 证书配置
   # ssl_certificate xxx.pem;
    #ssl_certificate_xxx.key;
    #ssl_session_timeout 5m;
    #ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    #ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
    #ssl_prefer_server_ciphers on;

        location / {
            #yourname改为你的oss名字,base改为地点,例如 proxy_pass http://zhangshang.oss-cn-beijing-internal.aliyuncs.com;
            proxy_pass http://yourname.oss-cn-base-internal.aliyuncs.com;
        }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

}

实现的效果

img