apicloud apicloud

注册
查看: 705|回复: 10

[模块教程] tencentOSS模块demo示例

版主

UID:83211

主题:
160
帖子:
8637
云币:
1449

APICloud粉丝模块开发者一周年你吃屎!女朋友SB侠APICloud大会专属勋章捣蛋鬼

[模块教程] tencentOSS模块demo示例

705 10 | 发表于 2019-7-10 12:05:02 |阅读模式 | |
**COS 简介**

对象存储(Cloud Object Storage,简称:COS)是腾讯云提供的一种存储海量文件的分布式存储服务,用户可通过网络随时存储和查看数据。腾讯云 COS 使所有用户都能使用具备高扩展性、低成本、可靠和安全的数据存储服务。

COS 通过控制台、 API、SDK 等多样化方式简单、快速地接入,实现了海量数据存储和管理。通过 COS 可以进行多格式文件的上传、下载和管理。腾讯云提供了直观的 Web 管理界面,同时遍布全国范围的 CDN 节点可以对文件下载进行加速。

**tencentOSS 模块概述**

本模块封装了腾讯对象存储COS的原生SDK。

点击进入模块详情

  1. <!DOCTYPE html>
  2. <html>
  3.         <head>
  4.                 <title>Module Develop</title>
  5.                 <meta charset="utf-8">
  6.                 <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
  7.                 <style type="text/css">
  8.                         html, body {
  9.                                 height: 100%
  10.                         }
  11.                         body {
  12.                                 background-color: #fff;
  13.                                 margin: 0;
  14.                         }
  15.                         #wrap {
  16.                                 height: 100%;
  17.                                 position: relative;
  18.                         }
  19.                         #header {
  20.                                 padding-top: 20px;
  21.                                 background-color: #5082c2;
  22.                                 height: 44px;
  23.                                 position: relative;
  24.                         }
  25.                         #header h1 {
  26.                                 font-size: 20px;
  27.                                 height: 44px;
  28.                                 line-height: 44px;
  29.                                 margin: 0em;
  30.                                 color: #fff;
  31.                                 margin-left: 100px;
  32.                                 margin-right: 100px;
  33.                                 text-align: center;
  34.                         }
  35.                         #main {
  36.                                 display: -webkit-box;
  37.                                 -webkit-box-orient: vertical;
  38.                                 -webkit-box-pack: center;
  39.                         }
  40.                         a.button {
  41.                                 display: -webkit-box;
  42.                                 -webkit-box-orient: vertical;
  43.                                 -webkit-box-pack: center;
  44.                                 -webkit-box-align: center;
  45.                                 height: 32px;
  46.                                 margin: 8px;
  47.                                 background-color: rgba(240,240,240,1.0);
  48.                                 border-color: rgba(220,220,220,1.0);
  49.                                 border-width: 2px;
  50.                                 border-style: solid;
  51.                         }
  52.                         a.active {
  53.                                 background-color: rgba(240,240,240,0.7);
  54.                         }
  55.                 </style>
  56.         </head>
  57.         <body>
  58.                 <div id="wrap">
  59.                         <div id="main">
  60.                                 <a class="button" tapmode="active" onclick="initUploadService()" >初始化</a>
  61.                                 <a class="button" tapmode="active" onclick="uploadFile()" >上传</a>
  62.                                 <a class="button" tapmode="active" onclick="downloadFile()" >下载</a>
  63.                         </div>
  64.                 </div>
  65.         </body>
  66.         <script type="text/javascript">
  67.                 var demo = null;
  68.                 apiready = function() {
  69.                         demo = api.require('tencentOSS');
  70.                         if (!demo) {
  71.                                 alert("请添加模块后编译");
  72.                                 return;
  73.                         }
  74.                 }
  75.                 function initUploadService() {
  76.                         demo.initUploadService({
  77.                                 appid : '1252112925',
  78.                                 secretId : 'AKIDRgiX7Q5MvNbdQylLBm7F9oEPPAgwljJd',
  79.                                 secretKey : 'DCvObYKq54mFSR9fz4tWt2vYx73jDSTD',
  80.                                 token : '',
  81.                                 region : 'ap-beijing' //ap-beijing-1,ap-beijing,ap-shanghai,ap-guangzhou,ap-guangzhou-2,ap-chengdu,ap-singapore,ap-hongkong,na-toronto,eu-frankfurt,cn-north,cn-south,cn-east,cn-southwest,sg
  82.                         }, function(ret, err) {
  83.                                 api.toast({
  84.                                         msg : JSON.stringify(ret) + " " + JSON.stringify(err)
  85.                                 });
  86.                         });
  87.                 }

  88.                 function uploadFile() {
  89.                         demo.uploadFile({
  90.                                 bucketName : 'tyousan', //"存储桶名称"; // cos v5 的 bucket格式为:xxx-appid, 如 test-1253960454
  91.                                 cosPath : '/demo/test_upload1_1.mp4', //"远端路径,即存储到 COS 上的绝对路径"; //格式如 cosPath = "/test.txt";
  92.                                 //srcPath : 'widget://res/test1.mp4',    //"本地文件的绝对路径"; fs://
  93.                                 srcPath : 'fs://test_upload1.mp4', //安卓不支持widget路径
  94.                         }, function(ret, err) {
  95.                                 if (ret.status) {//onStart|onProgress|onSuccess|onFail
  96.                                         if (ret.evenType == 'onSuccess') {
  97.                                                 alert(JSON.stringify(ret) + " " + JSON.stringify(err));
  98.                                         } else if (ret.evenType == 'onFail') {
  99.                                                 alert(JSON.stringify(ret) + " " + JSON.stringify(err));
  100.                                         } else {
  101.                                                 api.toast({
  102.                                                         msg : JSON.stringify(ret) + " " + JSON.stringify(err)
  103.                                                 });
  104.                                         }
  105.                                 } else {
  106.                                         api.toast({
  107.                                                 msg : JSON.stringify(ret) + " " + JSON.stringify(err)
  108.                                         });
  109.                                 }
  110.                         });
  111.                 }

  112.                 function downloadFile() {
  113.                         demo.downloadFile({
  114.                                 bucketName : 'tyousan', //"存储桶名称"; // cos v5 的 bucket格式为:xxx-appid, 如 test-1253960454
  115.                                 cosPath : '/demo/test_upload1.mp4', //"远端路径,即存储到 COS 上的绝对路径";
  116.                                 savePath : 'fs://', //"下载到本地的路径"; fs://
  117.                         }, function(ret, err) {
  118.                                 if (ret.status) {//onStart|onProgress|onSuccess|onFail
  119.                                         if (ret.evenType == 'onSuccess') {
  120.                                                 alert(JSON.stringify(ret) + " " + JSON.stringify(err));
  121.                                         } else if (ret.evenType == 'onFail') {
  122.                                                 alert(JSON.stringify(ret) + " " + JSON.stringify(err));
  123.                                         } else {
  124.                                                 api.toast({
  125.                                                         msg : JSON.stringify(ret) + " " + JSON.stringify(err)
  126.                                                 });
  127.                                         }
  128.                                 } else {
  129.                                         api.toast({
  130.                                                 msg : JSON.stringify(ret) + " " + JSON.stringify(err)
  131.                                         });
  132.                                 }
  133.                         });
  134.                 }
  135.         </script>
  136. </html>
复制代码


主题:
10
帖子:
785
云币:
460

APICloud粉丝一周年中秋节社会摇女朋友我李白贼6APICloud大会专属勋章不觉明厉强者王者足球狗捣蛋鬼

发表于 2019-7-10 14:56:25 |
感谢分享

实习司机

UID:538604

主题:
43
帖子:
121
云币:
121
发表于 2019-8-6 16:41:18 |
版主,为什么同样的代码请求下载,苹果手机提示找不到远程文件呢?

我的苹果是 ios 12.3 的,安卓正常。。。

实习司机

UID:538604

主题:
43
帖子:
121
云币:
121
发表于 2019-8-6 16:44:55 |
版主,为什么同样的下载请求,苹果却提示远程文件不存在呢?

用的苹果系统版本是 12.3 安卓一切正常.

版主

UID:83211

主题:
160
帖子:
8637
云币:
1449

APICloud粉丝模块开发者一周年你吃屎!女朋友SB侠APICloud大会专属勋章捣蛋鬼

 楼主| 发表于 2019-8-6 16:55:40 |
你接口参数怎么写的?

实习司机

UID:538604

主题:
43
帖子:
121
云币:
121
发表于 2019-8-6 17:56:10 |
52yaoer 发表于 2019-8-6 16:55
你接口参数怎么写的?

var tencentOSS = api.require('tencentOSS');
tencentOSS.initUploadService(tencenossKey, function (ret, err) {
    if (ret) {
        tencentOSS.downloadFile({
            bucketName: 'dj-234324234',
            cosPath: '434324234.png',
            savePath: 'fs://1.png',
        }, function (ret, err) {
            console.log(JSON.stringify(ret));
        });
    }
});

版主

UID:83211

主题:
160
帖子:
8637
云币:
1449

APICloud粉丝模块开发者一周年你吃屎!女朋友SB侠APICloud大会专属勋章捣蛋鬼

 楼主| 发表于 2019-8-6 19:41:39 |
var tencentOSS = api.require('tencentOSS');
tencentOSS.initUploadService(tencenossKey, function (ret, err) {
    if (ret) {
        tencentOSS.downloadFile({
            bucketName: 'dj-234324234',
            cosPath: '434324234.png',
            savePath: 'fs://',
        }, function (ret, err) {
            console.log(JSON.stringify(ret));
        });
    }
});

版主

UID:83211

主题:
160
帖子:
8637
云币:
1449

APICloud粉丝模块开发者一周年你吃屎!女朋友SB侠APICloud大会专属勋章捣蛋鬼

 楼主| 发表于 2019-8-6 19:41:52 |
这样试试。。。。savePath: 'fs://', 这样。。

版主

UID:83211

主题:
160
帖子:
8637
云币:
1449

APICloud粉丝模块开发者一周年你吃屎!女朋友SB侠APICloud大会专属勋章捣蛋鬼

 楼主| 发表于 2019-8-6 19:42:44 |
cosPath: '434324234.png', 这个文件在根目录?

根目录的话应该这样吧?
cosPath: '/434324234.png',

版主

UID:83211

主题:
160
帖子:
8637
云币:
1449

APICloud粉丝模块开发者一周年你吃屎!女朋友SB侠APICloud大会专属勋章捣蛋鬼

 楼主| 发表于 2019-8-6 19:43:00 |
请参考


var demo = api.require('tencentOSS');
demo.downloadFile({
    bucketName : 'tyousan',   //"存储桶名称";
    cosPath : '/demo/test_upload1.mp4',   //"远端路径,即存储到 COS 上的绝对路径";
    savePath : 'fs://', //"下载到本地的路径"; fs://
},function(ret, err){
    api.toast({ msg:JSON.stringify(ret) +" "+ JSON.stringify(err) });
});
12下一页
您需要登录后才可以回帖 登录 | 立即注册

快速回复 返回顶部 返回列表