阿里OSS配置自定义域名步骤详解

一、前言

      好早之前就写过阿里OSS的文章,本来以为可以直接用的,结果一顿操作完,上传是上传了,但是访问的时候变成了下载???没办法直接看图片了。

百度发现:浏览器访问OSS中的网页类型文件时提示下载资源

出于安全考虑,从2018年8月13日起,直接使用OSS访问域名,从互联网访问OSS上的网页类型文件(mimetype为text/html,扩展名包括htm、html、jsp、plg、htx 和stm)时,Response Header中会自动加上 Content-Disposition:'attachment=filename;'。即从浏览器访问网页类型文件时,会以附件    形式进行下载。

      也就是说,现在需要绑定自定义的域名才能访问到OSS的图片了。网上看到有说修改http头的,有从sdk里面设置文件元信息的,大家有兴趣可以百度下,由于阿里的文档有些不大清楚,所以咱们这里只是大致说一下绑定自定义域名的步骤。

阿里对象存储OSS在laravel框架中的使用

二、绑定自定义域名

1、大致步骤

(1)确定有已备案的域名,确定要绑定的域名,比如static.xxx.com
(2)创建Bucket,找到对应的endpoint,这个endpoint解析域名的时候要用到
(3)添加域名解析,选择CNAME 类型,主机记录写上endpoint的值
(4)找到bucket的域名管理,添加上该域名,确定有绑定关系
(5)url访问方式

2、域名解析部分

这里默认大家走完前两步了,直接去第三步进行域名解析。
在这里插入图片描述

3、bucket的域名管理部分

(1)找到传输加速设置,点进去

在这里插入图片描述

(2)点击域名管理,添加自定义的域名

在这里插入图片描述
      添加完之后,我们可以看到多了一条记录,这条记录的右侧有个“域名绑定配置”,点进去就可以看到绑定的endpoint

4、访问方式

打开文件管理,点击具体的文件详情,我们可以看到:
在这里插入图片描述
      详情页里提供的有url地址,我们把前面的部分,也就是xx.oss-cn-qingdao.aliyuncs.com部分替换成自定义的域名就可以访问了,后面的文件目录文件名什么的保持不变即可。

end

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
Java 集成阿里OSS,需要进行以下步骤: 1. 创建阿里云账号并开通 OSS 服务 2. 创建一个 OSS Bucket(类似于文件夹),并获得访问密钥(Access Key ID 和 Access Key Secret) 3. 添加相应的 OSS SDK 依赖,例如 Maven 项目中添加以下依赖: ``` <dependency> <groupId>com.aliyun.oss</groupId> <artifactId>aliyun-sdk-oss</artifactId> <version>3.5.2</version> </dependency> ``` 4. 通过 OSS SDK 提供的 API 进行文件上传、下载、删除等操作。以下是一个上传文件的示例代码: ```java // 创建 OSSClient 实例 OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret); // 上传文件流 InputStream inputStream = new FileInputStream(file); ossClient.putObject(bucketName, objectName, inputStream); // 关闭 OSSClient ossClient.shutdown(); ``` 其中,`endpoint` 是 OSS 服务的访问域名,`accessKeyId` 和 `accessKeySecret` 是访问密钥,`bucketName` 是 Bucket 的名称,`objectName` 是上传后的文件名,`inputStream` 是文件的输入流。 5. 对于大文件的上传,可以使用分片上传功能,提高上传效率和稳定性。以下是一个分片上传的示例代码: ```java // 创建 OSSClient 实例 OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret); // 初始化分片上传,获得 uploadId InitiateMultipartUploadRequest request = new InitiateMultipartUploadRequest(bucketName, objectName); InitiateMultipartUploadResult result = ossClient.initiateMultipartUpload(request); String uploadId = result.getUploadId(); // 上传分片 UploadPartRequest uploadPartRequest = new UploadPartRequest(); uploadPartRequest.setBucketName(bucketName); uploadPartRequest.setKey(objectName); uploadPartRequest.setUploadId(uploadId); uploadPartRequest.setInputStream(inputStream); uploadPartRequest.setPartSize(partSize); uploadPartRequest.setPartNumber(partNumber); UploadPartResult uploadPartResult = ossClient.uploadPart(uploadPartRequest); // 完成分片上传 CompleteMultipartUploadRequest completeRequest = new CompleteMultipartUploadRequest(bucketName, objectName, uploadId, partETags); ossClient.completeMultipartUpload(completeRequest); // 关闭 OSSClient ossClient.shutdown(); ``` 其中,`partSize` 是分片大小,`partNumber` 是分片号码,`partETags` 是已上传分片的信息。需要注意的是,分片上传需要保证分片上传的顺序和分片大小的一致性。 以上是 Java 集成阿里OSS 的主要步骤和示例代码,具体的操作还需要根据实际需求进行调整。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

铁柱同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值