从浏览器端向 QingStor 对象存储上传文件
💡
原文中文,约6300字,阅读约需15分钟。
📝
内容提要
本文介绍了如何从浏览器端向QingStor对象存储上传文件,包括表单上传和使用SDK两种方式。表单上传分为匿名可写和匿名不可写,后者需要签名。使用SDK上传更简单,但可能暴露密钥信息,因此建议部署签名服务器以确保安全性。总结了三种上传方式的适用场景。
🎯
关键要点
- 从浏览器端向QingStor对象存储上传文件的需求普遍存在。
- 上传方式分为表单上传和使用SDK两种,表单上传又分为匿名可写和匿名不可写。
- 匿名可写上传只需构建表单,指定域名和文件名即可。
- 匿名不可写上传需要对POST请求进行签名,涉及到policy和signature的计算。
- 使用SDK上传更简单,但可能暴露密钥信息,建议部署签名服务器以确保安全性。
- 部署签名服务器可以避免密钥信息泄露,适合大多数用户场景。
- 总结了三种上传方式的适用场景,分别是POST接口、SDK上传和部署签名服务器。
❓
延伸问答
如何从浏览器端向QingStor对象存储上传文件?
可以通过表单上传和使用SDK两种方式进行上传,表单上传分为匿名可写和匿名不可写,使用SDK则更简单但需注意密钥安全。
什么是匿名可写和匿名不可写上传?
匿名可写上传只需构建表单并指定域名和文件名,而匿名不可写上传需要对POST请求进行签名,涉及policy和signature的计算。
使用SDK上传文件有什么风险?
使用SDK上传文件可能会暴露用户的access_key_id和secret_access_key,因此建议部署签名服务器以确保安全性。
如何部署签名服务器以保护密钥信息?
可以通过克隆签名服务器的示例代码,编辑配置文件并运行服务器来部署签名服务器,从而保护密钥信息。
QingStor的POST接口适合什么场景?
POST接口适合用户上传文件的简单场景,如论坛附件上传和在线编辑器上传图片等。
使用QingStor SDK上传文件的步骤是什么?
首先引入SDK,设置Bucket的CORS,然后使用FileReader读取文件内容,最后调用bucket.putObject方法进行上传。
➡️