uniapp app端上传图片到七牛云

在uni-app中,由于某些环境下并不支持FormData,所以在使用七牛云上传文件时,可能会出现"ReferenceError: Can’t find variable: FormData"的错误。为了解决这个问题,你可以使用uni-app提供的uni.uploadFile方法来上传文件,而不是使用FormData。以下是一个示例:

uni.chooseImage({
    success: function (chooseImageRes) {
        const filePath = chooseImageRes.tempFilePaths[0];
        uni.uploadFile({
            url: '你的七牛云上传地址', // 你的七牛云上传地址
            filePath: filePath,
            name: 'file',
            formData: {
                'token': '你的上传凭证', // 你的上传凭证
                'key': '你的图片key' // 你的图片key
            },
            success: (uploadFileRes) => {
                console.log(uploadFileRes);
            }
        });
    }
});

在这个示例中,我们首先使用uni.chooseImage让用户选择一张图片,然后使用uni.uploadFile将这张图片上传到七牛云。我们将上传地址、上传凭证和图片key作为参数传递给uni.uploadFile。

参数的获取通常需要你在七牛云上进行一些设置和操作:

url: 这是你的七牛云上传地址,https://developer.qiniu.com/kodo/1671/region-endpoint-fq 在此处获取。

filePath: 这是你要上传的文件的本地路径。在这个例子中,我们使用 uni.chooseImage 让用户选择一张图片,然后将这张图片的本地路径赋值给 filePath。

name: 这是你在表单中用来标识文件的字段名。在七牛云中,这个字段名通常是 ‘file’。

formData: 这是一个包含了其他表单字段的对象。

token: 这是你的上传凭证,是一个由七牛云生成的字符串。你可以在七牛云的后台管理界面中生成上传凭证。具体的生成方法可以参考七牛云的官方文档。

key: 这是你的图片key,是一个由你自己定义的字符串,用来在七牛云中唯一标识你的文件。你可以自己随意定义这个key,但是要确保它在你的七牛云空间中是唯一的。

你可能感兴趣的:(uni-app)