解决阿里云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
本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
原文地址: https://blog.csdn.net/S0001100/article/details/120058228
本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
相关文章