码迷,mamicode.com
首页 > Web开发 > 详细

阿里OSS上传图片不支持预览

时间:2021-02-08 12:11:54      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:desc   cat   list   string   res   在线   bmp   block   file   

OSS上传图片不支持预览

第一点就是设置文件的ACL(权限)

注意一点权限要么是公共读写,要么是公共读

/**
* 主要运用到的就是阿里的类 ObjectMetadata
*/
ObjectMetadata objectMetadata = new ObjectMetadata();
//设置公共读权限
objectMetadata.setObjectAcl(CannedAccessControlList.PublicRead);

第二点就是设置设置文本类型

如果是jpg类型的图片,就应该是image/jpg,这里直接写了一个方法可以直接调用即可

/**
 * Description: 判断OSS服务文件上传时文件的contentType
 *
 * @param FilenameExtension 文件后缀
 * @return String
 */
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";
}

设置一下文本类型

//获取上传文件的扩展名,截取扩展名
String fileType = original.substring(original.lastIndexOf("."));
//设置文本类型
objectMetadata.setContentType(getcontentType(fileType));
//默认十年不过期
Date expiration = new Date(System.currentTimeMillis() + 3600L * 1000 * 24 * 365 * 10);
//获取在线访问的url bucket名称  文件名   过期时间
uploadUrl = ossClient.generatePresignedUrl(bucketName, fileName, expiration).toString();

第三点设置返回值

//返回数据是关键如果你直接返回uploadUrl那么后面就会出现很多参数,所以要进行截取
return uploadUrl.substring(0,uploadUrl.indexOf("?"));

阿里OSS上传图片不支持预览

标签:desc   cat   list   string   res   在线   bmp   block   file   

原文地址:https://www.cnblogs.com/tfybm/p/14383848.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!