收藏
回答

使用云开发怎么获取小程序码

运用request获取小程序码二进制流后,想要存储到云开发的文件管理,但一直提示文件路径是read-only file system,有哪位大哥知道咋整吗

return new Promise((resolve, reject) => {
  let stream = request({
    url: url,
    method: "POST",
    headers: {
      "content-type": "application/json",
      "content-Length": JSON.stringify(data).length
    },
 
    body: json
     
  })
    .pipe(fs.createWriteStream(path.join(__dirname, 'demo.png')))
  stream.on('finish', function () {
    cloud.uploadFile({
      cloudPath: 'demo.png',
      fileContent: '/var/user/demo.png',
    })
 
  })


最后一次编辑于  2018-09-26  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

3 个回答

  • 有志亲年
    有志亲年
    2018-10-29

    var rp = require('request-promise');//还需要npm install request


     


    //以下代码写在云函数里
    async function request(url) {
        return new Promise(function (resolve) {
          rp(url)
            .then(function (data) {
              resolve(data);
            })
            .catch(function () {
              resolve({ err: 1 });
            });
        });
      }
     
      var createOpt = function (token, scene, page) {
        var options = {
          method: 'POST',
          uri: 'https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=' + token,
          encoding: null, //一定要加这个!!!!,不然存进去乱码,试了好久才发现是这里的问题,发出来给大家节约时间
          body: {
            "scene": scene,
            "page": page
          },
          json: true // Automatically stringifies the body to JSON
        };
        return options
      }
     
     
        var options = createOpt('access_token自己获取', 'test=key&ffff=lalalla', 'pages/index/index')
        var fileStream = await request(options)
     
        return await cloud.uploadFile({
          cloudPath: 'testCode3.png',
          fileContent: fileStream,
        })


    2018-10-29
    赞同 1
    回复
  • 夏天
    夏天
    01-31

    我解决了,文件存在 /tmp 目录下就ok,文档里面有说明的

    01-31
    赞同
    回复
  • 一步 (^o^)
    一步 (^o^)
    2018-10-01

    您好 请问解决了嘛

    2018-10-01
    赞同
    回复 1
    • 此生拜阳明
      此生拜阳明
      2018-10-03

      尚未

      2018-10-03
      回复