解决方法:在图片上传的时候加入以下代码即可:
ObjectMetadata meta = new ObjectMetadata ( ) ;
meta. setContentType ( getContentType ( filepath. substring ( filepath. lastIndexOf ( "." ) ) ) ) ;
ossClient. putObject ( new PutObjectRequest ( bucketName, filepath, fileupload, meta) ) ;
getContentType方法
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" ;
}
Amazon和腾讯的云存储也是一样的道理,想要在线访问上传的图片而不是直接下载,那么久就将Content-type设置为image/jpg,原本图片类型默认image/jpeg,所以才会直接下载