解决阿里云OSS,打开图片地址直接预览

问题描述:
阿里云对象存储上传的图片打开是下载,并不是我想要的效果,我希望的是可以直接预览:可以直接在网址上面查看的那种。首先你得检查一下你的图片contentType,一般是通过代码设置的,直接在阿里云上传的图片,返回的url链接是直接下载的。我们使用代码上传,只需要看看你的代码里面上传图片的类型。
一、上代码

1.设置类型
代码如下(示例):

ObjectMetadata objectMetadata = new ObjectMetadata();
objectMetadata.setContentType(getcontentType(keyName.substring(keyName.lastIndexOf("."))));

2.getcontntType

  public static String getcontentType(String FilenameExtension) { 
        if (FilenameExtension.equalsIgnoreCase(".bmp")) { 
            return "image/bmp";
        }
        if (FilenameExtension.equalsIgnoreCase(".gif")) { 
            return "image/gif";
        }
        if (FilenameExtension.equalsIgnoreCase(".jpeg") ||
                FilenameExtension.equalsIgnoreCase(".jpg") ||
                FilenameExtension.equalsIgnoreCase(".png")) { 
            return "image/jpg";
        }
        if (FilenameExtension.equalsIgnoreCase(".html")) { 
            return "text/html";
        }
        if (FilenameExtension.equalsIgnoreCase(".txt")) { 
            return "text/plain";
        }
        if (FilenameExtension.equalsIgnoreCase(".vsd")) { 
            return "application/vnd.visio";
        }
        if (FilenameExtension.equalsIgnoreCase(".pptx") ||
                FilenameExtension.equalsIgnoreCase(".ppt")) { 
            return "application/vnd.ms-powerpoint";
        }
        if (FilenameExtension.equalsIgnoreCase(".docx") ||
                FilenameExtension.equalsIgnoreCase(".doc")) { 
            return "application/msword";
        }
        if (FilenameExtension.equalsIgnoreCase(".xml")) { 
            return "text/xml";
        }
        return "image/jpg";
    }

总结:添加完之后上传图片我,完美解决问题!说的不是很清楚,简而言之就是你的上传文件的类型需要改一下,上面有代码。

注意:大家看仔细一点 image/jpg是这个,没有上传的希望去看看你的类型,你应该写成 image/jpeg了,细心一点,不然又要找很久了

每日一道Java面试题

点击关注支持一下:Java有话说

    原文作者:柳落青
    原文地址: https://blog.csdn.net/S0001100/article/details/120058228
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞