OSS上传图片并获取相关链接

一、有关图片上传代码

代码为批量图片上传,单张图片上传,剔除有关循环即可

public class OSSUtil {
    public static String[] pictureToOSS(Object[] data,String[] pictureType,String[] picturePath){
        // yourEndpoint填写Bucket所在地域对应的Endpoint。以华东1(杭州)为例,Endpoint填写为https://oss-cn-hangzhou.aliyuncs.com。
        String endpoint = "11111111111111111111111";
       // 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。
        String accessKeyId = "11111111111111111";
        String accessKeySecret = "11111111111111111";

        // 创建OSSClient实例。
        OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId,accessKeySecret);
        ObjectMetadata objectMetadata = new ObjectMetadata();

        // 填写Byte数组。
        Date expiration = new Date(new Date().getTime() + 3600 * 1000*240);

        String[] ossUrl=new String[picturePath.length];
        int pictureIndex=0;
        String pictureName;
        // 填写Bucket名称和Object完整路径。Object完整路径中不能包含Bucket名称
        for(int i=0;i< data.length;i++){
            pictureName=picturePath[i];
            //配置图片格式
            objectMetadata.setContentType("image/"+pictureType[i]);
            //图片上传
            ossClient.putObject("wordimport-pictures-test",pictureName , new ByteArrayInputStream((byte[]) data[i]),objectMetadata);
			//获取url
            String path =ossClient.getObject("wordimport-pictures-test",pictureName).getResponse().getUri();
            ossUrl[i]=path;

        }
        // 关闭OSSClient。
        ossClient.shutdown();

        return ossUrl;
    }
}

二、关于url无法显示图片的处理

  1. 例如这种访问url是这种情况
    在这里插入图片描述
  2. 处理方式——修改读写权限即可,设置为公共读
    在这里插入图片描述
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值