uniapp踩坑[INVALID_OPERATION] [100007] this env is not enable anonymous login报错

项目场景:

在使用云存储上传文件时,上传失败报错:[INVALID_OPERATION] [100007] this env is not enable anonymous login

问题描述:

在使用uniapp的api上传文件时,控制台直接报错,后来发现是把uniCloud.uploadFile给错写成了uni.uploadFile,官网中有提到这一点:

uni.uploadFile使用于连接非uniCloud的上传使用的,而uniCloud.uploadFile是用于云存储的上传使用

另外,云函数端也有一个uniCloud.uploadFile,区分它们是根据请求参数的不同进行区分。
所以我对代码进行了修改,将uni.uploadFile改成了uniCloud.uploadFile,但是这个时候就开始报开头的错误了:
[INVALID_OPERATION] [100007] this env is not enable anonymous login


原因分析:

一开始我以为是我的上传代码哪里有问题,所以我就直接将官网的上传代码放到我的代码中看看能不能成功。

//前端代码
uni.chooseImage({
    count: 1,
    success(res) {
        console.log(res);
        if (res.tempFilePaths.length > 0) {
            let filePath = res.tempFilePaths[0]
            //进行上传操作
            // callback方式,与promise方式二选一即可
            uniCloud.uploadFile({
                filePath: filePath,
        cloudPath: 'a.jpg',
        onUploadProgress: function(progressEvent) {
          console.log(progressEvent);
          var percentCompleted = Math.round(
            (progressEvent.loaded * 100) / progressEvent.total
          );
                },
                success(res) {
                	console.log(JSON.stringify(res))
                },
                fail(res) {
					console.log(JSON.stringify(res))
				},
                complete() {}
            });

        }
    }
});

结果发现还是报这个错误,所以就证明了错误不在我的上传代码这里。
通过百度发现,这个错误可能来自于腾讯云,需要在腾讯云平台开启允许匿名登陆才能避免。
uniapp踩坑
但是我是通过uniapp获取的云服务,这让我跑哪去找账号登录腾讯云平台呢?所以这个方法还是无法解决我的问题。
有遇到过这个问题的朋友欢迎在下面留言互相交流。


解决方案:

最后实在没办法了,我就将腾讯云的unicloud给删了,重新创了一个阿里云的unicloud才成功的上传文件,虽然阿里云一次只能上传100m的文件,但是对于我们学习来说还是够用的。

posted @ 2021-01-06 20:26  .AaronWong  阅读(33)  评论(0)    收藏  举报  来源