如何实现上传到oss的图片只能在本网站上访问,直接访问oss文件链接不能下载不能访问

要实现只能在本网站上访问上传到 OSS(对象存储服务)的图片,而不能直接下载或访问 OSS 文件链接,可以使用以下步骤:

1. 首先,确保已经在 OSS 上创建了一个存储桶(Bucket)用于存储图片文件。

2. 在存储桶的权限设置中,将存储桶的访问权限设置为私有(Private)。

3. 在你的网站后端代码中,上传图片到 OSS 存储桶时,需要生成一个访问授权凭证(签名)。

   - 在服务端生成一个用于签名的密钥(Access Key),该密钥只在服务端保存,不会暴露给前端,可以通过类似阿里云的服务SDK来操作。

   - 在上传图片的接口中,每次接收到上传请求时,使用服务端密钥对请求进行签名。签名时需要设置有效期,例如 30 分钟。

   - 将签名和上传请求一起返回给前端。

4. 前端上传图片时,在请求中携带签名信息。

   - 在前端上传图片时,先向网站后端请求获取签名。

   - 在上传请求中,将签名信息作为参数或者请求头携带给 OSS。

5. OSS 存储桶收到带有签名信息的请求时会校验签名的有效性和过期时间。如果签名有效,则允许上传文件。

6. 前端访问图片时,不能直接使用 OSS 文件链接,而是通过网站后端提供的接口获取访问链接。

   - 在网站后端准备一个用于访问图片的接口。

   - 在此接口中,使用服务端密钥对请求进行签名,生成图片的临时访问链接,并返回给前端。

7. 前端在展示图片时,使用后端返回的临时访问链接进行访问。

通过以上步骤,只有在你的网站上获取到了有效签名的请求才能进行图片的上传和访问,从而实现了只能在本网站上访问上传到 OSS 的图片,而不能直接下载或访问 OSS 文件链接。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
前端直接上传文件OSS是一种常用的方式。通过前端直接上传文件OSS,可以减轻服务器的负担,提高上传效率,并且可以更好地实现分布式存储和数据备份。 要实现前端直接上传文件OSS,首先需要在前端页面上引入OSS的JavaScript SDK库。通过该库,我们可以使用OSS的API,进行文件上传操作。 在前端页面上,我们需要创建一个表单,包含一个文件选择框和一个上传按钮。当用户选择要上传的文件后,通过JavaScript代码,将选中的文件发送到OSS服务器。 在上传操作中,我们首先需要获取OSS访问凭证(Access Key ID和Access Key Secret),这些凭证可以在OSS的控制台中申请。同时需要指定一个存储桶(Bucket)作为文件的存储目标。 使用OSS的JavaScript SDK提供的API,我们可以通过以下步骤将文件传到OSS: 1. 创建OSS实例,传入OSS访问凭证和存储桶的相关信息。 2. 使用OSS实例的upload方法,指定要上传的文件对象以及上传后在存储桶中的路径。 3. 设置上传进度监听器,用于显示文件上传的进度。 4. 处理文件上传成功或失败的回调函数,可以在上传成功后进行一些操作,比如展示上传成功的提示信息,或者将上传成功的文件链接保存到数据库等。 需要注意的是,在进行文件上传操作时,为了保障上传安全性,我们可以对文件进行一些验证,如检查文件类型和大小,限制上传文件的个数等。 总结起来,前端直接上传文件OSS是一种高效、可靠的方式。借助OSS提供的JavaScript SDK和相关API,我们可以轻松地实现文件直接上传,实现更快速、更安全的文件存储和管理。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小马哥-码农

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

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

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

打赏作者

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

抵扣说明:

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

余额充值