解决阿里云OSS使用URL无法访问图片的两种方法
解决阿⾥云OSS使⽤URL⽆法访问图⽚的两种⽅法⼀、问题概述:生物医学工程是干什么的 就业前景
1、使⽤URL访问OSS存储的图⽚时显⽰XML代码
2、使⽤URL访问OSS存储的图⽚时⾃动下载
⼆、解决⽅式:
潜移默化什么意思如果⼤家对HTTP头部内容不清晰的可以去百度了解⼀下再看
解决问题⼀:
问题⼀出现的原因:因为在OSS的Bucket权限设置为私有
解决⽅式:将Bucket权限设置为公共读即可。但是我猜你之后多半会遇到第⼆个问题,那么就来解决第⼆个问题。
解决问题⼆:
解决⽅式:
解决⽅式有两种。如果图⽚内容较少或不再进⾏增加时可以直接在OSS控制台进⾏设置。
解决⽅式⼀如图:
火车票网上放票时间
解决⽅式⼆:JavaSDK解决⽅式
使⽤SDK中的ObjectMetadata类进⾏HTTP头设置。在上传⽂件时进⾏设置
具体代码:
将ContentDisposition设置为inline即可
// Endpoint以杭州为例,其它Region请按实际情况填写。
String endpoint = "oss-cn-hangzhou.aliyuncs";
// 阿⾥云主账号AccessKey拥有所有API的访问权限,风险很⾼。强烈建议您创建并使⽤RAM账号进⾏API访问或⽇常运维,请登录 sole.aliyun 创建RAM账号。
String accessKeyId = "<yourAccessKeyId>";
String accessKeySecret = "<yourAccessKeySecret>";
String content = "Hello OSS";
社会保险缴费比例// 创建上传⽂件的元信息,可以通过⽂件元信息设置HTTP header。
ObjectMetadata meta = new ObjectMetadata();
String md5 = Base64String(BinaryUtil.Bytes()));
// 开启⽂件内容MD5校验。开启后OSS会把您提供的MD5与⽂件的MD5⽐较,不⼀致则抛出异常。
meta.setContentMD5(md5);
// 指定上传的内容类型。内容类型决定浏览器将以什么形式、什么编码读取⽂件。如果没有指定则根据⽂件的扩展名⽣成,如果没有扩展名则为默认值application/octet-stream。
meta.setContentType("text/plain");
// 设置内容被下载时的名称。
meta.setContentDisposition("attachment; filename=\"DownloadFilename\"");
统招专升本// 设置上传⽂件的长度。如超过此长度,则会被截断,为设置的长度。如不⾜,则为上传⽂件的实际长度。
meta.setContentLength(content.length());
// 设置内容被下载时⽹页的缓存⾏为。
meta.setCacheControl("Download Action");
// 设置缓存过期时间,格式是格林威治时间(GMT)。
meta.setExpirationTime(DateUtil.parseIso8601Date("2022-10-12T00:00:00.000Z"));
// 设置内容被下载时的编码格式。
meta.setContentEncoding("utf-8");
// 设置header。
meta.setHeader("<yourHeader>", "<yourHeaderValue>");
// 创建OSSClient实例。
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
// 上传⽂件。
吃什么改善睡眠
ossClient.putObject("<yourBucketName>", "<yourObjectName>", new Bytes()), meta);
// 关闭OSSClient。
ossClient.shutdown();
到此这篇关于解决阿⾥云OSS使⽤URL⽆法访问图⽚的两种⽅法的⽂章就介绍到这了,更多相关阿⾥云OSS URL⽆法访问内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。