746
外汇
快速开始-浏览器__JavaScript-SDK_SDK 参考_对象存储 OSS-阿里云
下面介绍如何在浏览器中使用OSS JavaScript SDK来访问OSS服务,包括上传/下载文件和查看文件列表。
注意:为了简化,下面的介绍直接在网页中使用AccessKeyId和AccessKeySecret,这是不安全的做法。实际使用中应使用STS进行临时授权访问。
更多有关浏览器的使用请参考:浏览器应用。
Bucket设置
从浏览器中直接访问OSS需要开通Bucket的CORS设置:
- 将allowed origins设置成’*’
- 将allowed methods设置成’PUT, GET, POST, DELETE, HEAD’
- 将allowed headers设置成’*’
- 将expose headers设置成’ETag’
注意:请将该条CORS规则设置成所有CORS规则的第一条。
使用SDK
目前浏览器中不能直接进行Bucket相关的操作(例如list buckets, get/set bucket logging/referer/website/cors)。但是可以进行Object相关的操作(例如上传/下载文件,查看文件列表等)。
包含SDK
首先在html文件的<head>
中包含如下标签:
<script src="https://gosspublic.alicdn.com/aliyun-oss-sdk-4.4.4.min.js"></script>
通过new OSS.Wapper()
来创建client,OSS.Wrapper
提供了异步的接口,类似于callback的方式,在.then()
中处理返回的结果,在.catch()
中处理错误。
查看文件列表
<script type="text/javascript">
var client = new OSS.Wrapper({
region: '<oss region>',
accessKeyId: '<Your accessKeyId>',
accessKeySecret: '<Your accessKeySecret>',
bucket: '<Your bucket name>'
});
client.list({
'max-keys': 10
}).then(function (result) {
console.log(result);
}).catch(function (err) {
console.log(err);
});
</script>
其中region
参数是指您申请OSS服务时的区域,例如’oss-cn-hangzhou’。完整的区域列表可以在OSS服务节点查看。
在浏览器中打开html文件,然后打开Chrome的“开发者控制台”,就可以看到list文件的结果了。
上传文件
下面使用multipartUpload
接口来上传文件:
<body>
<input type="file" id="file" />
<script type="text/javascript">
var client = new OSS.Wrapper({
region: '<oss region>',
accessKeyId: '<Your accessKeyId>',
accessKeySecret: '<Your accessKeySecret>',
bucket: '<Your bucket name>'
});
document.getElementById('file').addEventListener('change', function (e) {
var file = e.target.files[0];
var storeAs = 'upload-file';
console.log(file.name + ' => ' + storeAs);
client.multipartUpload(storeAs, file).then(function (result) {
console.log(result);
}).catch(function (err) {
console.log(err);
});
});
</script>
</body>
下载文件
在浏览器中不能直接操作文件,因此采用签名URL的方式来生成文件的下载链接,用户只需要点击链接就可以下载文件。
<body>
<input type="button" id="download" value="Download" />
<script type="text/javascript">
var client = new OSS.Wrapper({
region: '<oss region>',
accessKeyId: '<Your accessKeyId>',
accessKeySecret: '<Your accessKeySecret>',
bucket: '<Your bucket name>'
});
document.getElementById('download').addEventListener('click', function (e) {
var objectKey = 'upload-file';
var saveAs = 'download';
console.log(objectKey + ' => ' + saveAs);
var result = client.signatureUrl(objectKey, {
expires: 3600,
response: {
'content-disposition': 'attachment; filename="' + saveAs + '"'
}
});
console.log(result);
window.location = result;
});
</script>
</body>
最后更新:2016-11-23 16:04:10
上一篇:
异常__.NET-SDK_SDK 参考_对象存储 OSS-阿里云
下一篇:
快速开始-NodeJS__JavaScript-SDK_SDK 参考_对象存储 OSS-阿里云
可授权CDN资源类型__RAM资源授权-CDN_API 手册_CDN-阿里云
如何添加成员及授权__快速开始_大数据开发套件-阿里云
修改RDS实例数据复制和高可用策略__实例管理_API 参考_云数据库 RDS 版-阿里云
创建任务(以MaxCompute SQL任务为例)__快速开始_大数据开发套件-阿里云
LogHub-监控__Getting-Started_日志服务-阿里云
视频转码 PHP SDK 安装及调用___视频专区_媒体转码-阿里云
步骤四:修改DNS解析__快速上线_Web 应用防火墙-阿里云
Topic相关问题__产品常见问题_阿里云物联网套件-阿里云
阿里云异构计算产品集结完毕 覆盖全场景AI与高性能计算需求
分片上传__Android-SDK_SDK 参考_对象存储 OSS-阿里云
相关内容
常见错误说明__附录_大数据计算服务-阿里云
发送短信接口__API使用手册_短信服务-阿里云
接口文档__Android_安全组件教程_移动安全-阿里云
运营商错误码(联通)__常见问题_短信服务-阿里云
设置短信模板__使用手册_短信服务-阿里云
OSS 权限问题及排查__常见错误及排除_最佳实践_对象存储 OSS-阿里云
消息通知__操作指南_批量计算-阿里云
设备端快速接入(MQTT)__快速开始_阿里云物联网套件-阿里云
查询API调用流量数据__API管理相关接口_API_API 网关-阿里云
使用STS访问__JavaScript-SDK_SDK 参考_对象存储 OSS-阿里云