关于html上传文件到微信小程序云开发存储空间的问题

求一个html页面操作小程序云开发存储的demo,我已经尝试过,但是会报错,

img


求个解决办法

望采纳!!!点击回答右侧采纳即可!!
你好,题主,你这个问题我之前有遇到过,这是由于本地文件上传到腾讯云之间跨域问题所致。
解决方案:你可以登录腾讯云,在安全配置中添加该域名即可[如下图所示]。或者找腾讯云技术客服支持解决一下,都是可以的。

img


若是web端可以考虑使用官方提供的SDK上传解决跨域问题。
https://docs.cloudbase.net/api-reference/webv2/storage
如果还不能解决,我再帮你想想办法。

<!DOCTYPE html>
<html>
<head>
  <title>Cloud Storage Demo</title>
  <script src="https://cdn.jsdelivr.net/npm/jquery@3.6.0/dist/jquery.min.js"></script>
  <script src="https://cdn.jsdelivr.net/npm/@cloudbase/js-sdk@0.8.0/dist/bundle.js"></script>
</head>
<body>

<h1>Cloud Storage Demo</h1>

<form>
  <label for="file">Select a file to upload:</label>
  <input type="file" id="file" name="file">
  <input type="button" value="Upload" onclick="uploadFile()">
</form>

<script>
  // 初始化云开发
  const app = cloudbase.init({
    env: 'my-env-id'
  });

  // 上传文件
  function uploadFile() {
    const file = $('#file')[0].files[0];
    app.uploadFile({
      cloudPath: 'my-folder/' + file.name,
      filePath: file
    }).then(res => {
      console.log(res);
      alert('文件上传成功!');
    }).catch(err => {
      console.error(err);
      alert('文件上传失败!');
    });
  }
</script>

</body>
</html>


在上面的代码中,我们使用了 jQuery 和 CloudBase JS SDK 来实现文件上传功能。首先,使用 cloudbase.init() 方法初始化云开发环境,然后在 uploadFile() 函数中使用 app.uploadFile() 方法将文件上传到云存储中。

注意这里需要你自己在项目中配置云环境的id.
使用时请换成正确的云开发环境 ID 和上传目录。

尝试过https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/web/sdk.html

这是一个简单的使用小程序云开发存储的 HTML 页面示例:

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>小程序云开发存储示例</title>
</head>
<body>
  <h1>小程序云开发存储示例</h1>
  <form>
    <label for="key">键:</label>
    <input type="text" id="key" name="key"><br>
    <label for="value">值:</label>
    <input type="text" id="value" name="value"><br>
    <button id="save-button">保存</button>
  </form>
  <br>
  <button id="get-button">读取</button>
  <p id="result"></p>
  <script src="https://cdn.jsdelivr.net/npm/wafer2-client-sdk@latest/index.js"></script>
  <script>
    var wxCloud = wafer2.init({
      env: 'YOUR_ENV_ID'
    });
    var saveButton = document.getElementById('save-button');
    var getButton = document.getElementById('get-button');
    var result = document.getElementById('result');

    saveButton.addEventListener('click', function (e) {
      e.preventDefault();
      var key = document.getElementById('key').value;
      var value = document.getElementById('value').value;
      wxCloud.callFunction({
        name: 'storage',
        data: {
          action: 'set',
          key: key,
          value: value
        }
      }).then(function (res) {
        result.innerText = '保存成功';
      }).catch(function (err) {
        result.innerText = '保存失败:' + err.message;
      });
    });

    getButton.addEventListener('click', function () {
      var key = document.getElementById('key').value;
      wxCloud.callFunction({
        name: 'storage',
        data: {
          action: 'get',
          key: key
        }
      }).then(function (res) {
        result.innerText = '读取成功:' + res.result.data;
      }).catch(function (err) {
        result.innerText = '读取失败:' + err.message;
      });
    });
  </script>
</body>
</html>

请注意,在使用小程序云开发前需要先在

望采纳!!!点击回答右侧采纳即可!!

<!DOCTYPE html>
<html>
<head>
    <title>Cloud Storage Demo</title>
</head>
<body>
    <h1>Cloud Storage Demo</h1>
    <form>
        <label for="key">Key:</label>
        <input type="text" id="key" name="key"><br><br>
        <label for="value">Value:</label>
        <input type="text" id="value" name="value"><br><br>
    </form>
    <button onclick="saveData()">Save</button>
    <button onclick="getData()">Get</button>
    <p id="result"></p>
    <script src="https://cdn.jsdelivr.net/npm/@cloudbase/web@latest/dist/cloudbase.min.js"></script>
    <script>
        // 初始化云开发
        cloudbase.init({
            env: "your-cloud-env-id"
        });

        // 存储数据
        function saveData() {
            var key = document.getElementById("key").value;
            var value = document.getElementById("value").value;
            cloudbase.database().collection("mydata").add({
                key: key,
                value: value
            }).then(res => {
                document.getElementById("result").innerHTML = "数据已成功保存!";
            }).catch(err => {
                document.getElementById("result").innerHTML = "保存失败:" + err;
            });
        }

        // 获取数据
        function getData() {
            var key = document.getElementById("key").value;
            cloudbase.database().collection("mydata").where({
                key: key
            }).get().then(res => {
                if (res.data.length > 0) {
                    var data = res.data[0];
                    document.getElementById("result").innerHTML = "Key: " + data.key + "<br>Value: " + data.value;
                } else {
                    document.getElementById("result").innerHTML = "未找到数据";
                }
            }).catch(err => {
                document.getElementById("result").innerHTML = "获取失败:" + err;
            });
        }
    </script>
</body>
</html>