littleRookie
littleRookie
  • 发布:2022-04-09 16:12
  • 更新:2022-04-13 13:17
  • 阅读:317

unicloud的阿里云服务空间怎么获取region和bucket?

分类:uniCloud

云服务器想自己写上传但是不知道region和bucket值

2022-04-09 16:12 负责人:无 分享
已邀请:
DCloud_uniCloud_WYQ
  • littleRookie (作者)

    那如何将其他项目中的文件上传到unicloud的服务器呢,云函数我试过了,一直报 ValidationFailed:参数校验错误: Invalid options.filePath这个错误

    2022-04-13 09:29

  • DCloud_uniCloud_WYQ

    回复 littleRookie: 完整的代码贴出来

    2022-04-13 12:35

  • littleRookie (作者)

    回复 DCloud_uniCloud_WYQ:我贴在下面了,你看下

    2022-04-13 13:12

littleRookie

littleRookie (作者)

这是云函数的代码

'use strict';  
exports.main = async (event, context) => {  
    //event为客户端上传的参数  
    const fs = require("fs");  
    let uploadinfo= event.body  
    let result = await uniCloud.uploadFile({  
        cloudPath: uploadinfo.name,  
        fileContent: fs.createReadStream(uploadinfo.filePath)  
    });  
    //返回数据给客户端  
    return result  
};

这是uniapp代码

uni.chooseImage({  
                    count: 1,  
                    sourceType: [type],  
                    sizeType: ['compressed'], //可以指定是原图还是压缩图,默认二者都有  
                    success: (res) => {  
                        let imageinfo = res  
                        console.log  
                        let now = new Date().getTime();  
                        // 命名规则 发送账号id+时间戳+六位随机数+图片格式  
                        let name =  
                            this.userInfo.userId +  
                            '_' +  
                            now +  
                            '_' +  
                            Math.random()  
                            .toString()  
                            .slice(-6) +  
                            '.' +  
                            imageinfo.tempFilePaths[0].split('.').slice(-1)[0];  
                            console.log(imageinfo)  
                            let data={  
                                    name:name,  
                                    filePath: res.tempFilePaths[0]  
                                }  
                            uniCloud.callFunction({  
                                name:'uploadimage',  
                                data:data  
                            }).then(res=>{  
                                console.log(res)  
                            }).catch(err=>{  
                                console.log(err)  
                            })  
    })
littleRookie

littleRookie (作者)

在非uniapp项目中去使用这个方法也是一样的报错,ValidationFailed:参数校验错误: Invalid options.filePath这个错误

vue项目代码


createimagemsg(message) {  
            console.log(111);  
            // 命名规则 发送账号用户名+时间戳+六位随机数+图片格式  
            let imgtype = message.image.name.split('.').slice(-1)[0];  
            let imagename =  
                this.chatinfo.userinfo.name +  
                '_' +  
                message.image.lastModified +  
                '_' +  
                Math.random()  
                    .toString()  
                    .slice(-6) +  
                '.' +  
                imgtype;  
            axios  
                .post('https://14c6d1dc-f146-4fd9-a7fb-770bb76c2eff.bspapp.com/uploadimage', {  
                    name: imagename,  
                    filePath: message.url  
                })  
                .then(res => {  
                    console.log(res);  
                })  
                .catch(function() {  
                    alert('网络超时, 请重新加载!');  
                });  
        },
  • DCloud_uniCloud_WYQ

    然后你在云函数里面直接把message.url上传到云存储?云函数里面怎么写的呢?建议看一下这个文档:https://uniapp.dcloud.net.cn/uniCloud/storage.html#clouduploadfile

    2022-04-13 13:37

  • littleRookie (作者)

    回复 DCloud_uniCloud_WYQ: 这个message.url是本地文件的路径,你看看我上面发的那一条,我用uni.chooseImage选择的文件也不能通过云函数传上去,我现在的需求就是在非uniapp的项目中,能把本地文件上传到unicloud的云存储中,不知道你们官方支不支持这种方式,如果不支持的话我们可能就直接购买阿里云的服务器接入你们的unicloud了

    2022-04-13 15:12

该问题目前已经被锁定, 无法添加新回复