create-folder-sample.html 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. <!--
  2. * Copyright 2019 Huawei Technologies Co.,Ltd.
  3. * Licensed under the Apache License, Version 2.0 (the "License"); you may not use
  4. * this file except in compliance with the License. You may obtain a copy of the
  5. * License at
  6. *
  7. * http://www.apache.org/licenses/LICENSE-2.0
  8. *
  9. * Unless required by applicable law or agreed to in writing, software distributed
  10. * under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
  11. * CONDITIONS OF ANY KIND, either express or implied. See the License for the
  12. * specific language governing permissions and limitations under the License.
  13. -->
  14. <!DOCTYPE html>
  15. <html lang="en">
  16. <head>
  17. <meta charset="utf-8">
  18. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  19. <meta http-equiv="Pragma" name="Pragma" content="no-cache">
  20. <title>create_folder_sample</title>
  21. </head>
  22. <body>
  23. <h3>OBS BrowserJS SDK demo</h3>
  24. <h4>Basic Configuration</h4>
  25. <label>AK:</label> <input type="text" value="*** Provide your Access Key ***" id="ak" size="30"/>
  26. <label>SK:</label> <input type="text" value="*** Provide your Secret Key ***" id="sk" size="30"/>
  27. <p>
  28. <label>Server:</label> <input type="text" value="http://your-endpoint" id="server" size="30"/>
  29. <label>Bucket:</label> <input type="text" value="bucketname" id="bucketname"/>
  30. <p>
  31. <input type="button" value="Click to create folder in bucket" onclick="createFolder();"/>
  32. </body>
  33. <script src="../dist/esdk-obs-browserjs.3.23.5.min.js"></script>
  34. <script type="text/javascript">
  35. /**
  36. * This sample demonstrates how to create an empty folder under
  37. * specified bucket to OBS using the OBS SDK for BrowserJS.
  38. */
  39. function getObsClient(){
  40. /*
  41. * Initialize a obs client instance with your account for accessing OBS
  42. */
  43. var ak = document.getElementById('ak').value;
  44. var sk = document.getElementById('sk').value;
  45. var server = document.getElementById('server').value;
  46. return new ObsClient({
  47. access_key_id: ak,
  48. secret_access_key: sk,
  49. server : server,
  50. timeout : 60 * 5,
  51. });
  52. }
  53. /**
  54. * create folder in two ways
  55. */
  56. function createFolder(){
  57. var bucketName = document.getElementById('bucketname').value;
  58. var obs = getObsClient();
  59. /*
  60. * Way 1:
  61. */
  62. var keySuffixWithSlash1 = 'MyObjectKey1/';
  63. obs.putObject({
  64. Bucket : bucketName,
  65. Key : keySuffixWithSlash1
  66. }).then(function(result) {
  67. if(result.CommonMsg.Status < 300){
  68. console.log('Create an empty folder ' + keySuffixWithSlash1 + ' finished.\n');
  69. /*
  70. * Verify whether the size of the empty folder is zero
  71. */
  72. obs.getObjectMetadata({
  73. Bucket : bucketName,
  74. Key : keySuffixWithSlash1
  75. }).then(function(result) {
  76. if(result.CommonMsg.Status < 300){
  77. console.log('Size of the empty folder ' + keySuffixWithSlash1 + ' is ' + result.InterfaceResult.ContentLength);
  78. }
  79. });
  80. }
  81. });
  82. /*
  83. * Way 2:
  84. */
  85. var keySuffixWithSlash2 = 'MyObjectKey2/';
  86. obs.putObject({
  87. Bucket : bucketName,
  88. Key : keySuffixWithSlash2,
  89. Body : ''
  90. }).then(function(result) {
  91. if(result.CommonMsg.Status < 300){
  92. console.log('Create an empty folder ' + keySuffixWithSlash2 + ' finished.\n');
  93. /*
  94. * Verify whether the size of the empty folder is zero
  95. */
  96. obs.getObjectMetadata({
  97. Bucket : bucketName,
  98. Key : keySuffixWithSlash1
  99. }).then(function(result) {
  100. if(result.CommonMsg.Status < 300){
  101. console.log('Size of the empty folder ' + keySuffixWithSlash2 + ' is ' + result.InterfaceResult.ContentLength);
  102. }
  103. });
  104. }
  105. });
  106. }
  107. </script>
  108. </html>