本文主要是介绍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获取的云服务,这让我跑哪去找账号登录腾讯云平台呢?所以这个方法还是无法解决我的问题。
有遇到过这个问题的朋友欢迎在下面留言互相交流。
解决方案:
最后实在没办法了,我就将腾讯云的unicloud给删了,重新创了一个阿里云的unicloud才成功的上传文件,虽然阿里云一次只能上传100m的文件,但是对于我们学习来说还是够用的。
这篇关于uniapp踩坑[INVALID_OPERATION] [100007] this env is not enable anonymous login报错的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!