tencentyun / wafer2-startup

Wafer - 腾讯云下一代小程序综合解决方案
1.02k stars 225 forks source link

生产环境上传图片报code-1 #163

Closed funky-tiger closed 6 years ago

funky-tiger commented 6 years ago

用的wafer2的upload接口 开发环境可以正常上传并返回地址 更改config中的host为生产环境后就报错 {code: -1, error: "ERR_REQUEST_LOST_FIELD"} 缺少字段?ip不在白名单? 网上搜不到 不知所云 求告知 谢谢!

jas0ncn commented 6 years ago

这是因为上传的时候有个 field 字段,是否修改了 config.js 的 config.cos.fieldName 这个字段呢?如果修改了需要修改会 file,或者和前端的上传 field 对应的

https://github.com/tencentyun/wafer2-node-sdk/blob/d4bf5b0f30756c112c445a741808a55363b4efe8/lib/upload/index.js#L56

funky-tiger commented 6 years ago

您好 我仔细排查了你说的fieldName字段 发现我 config.js 中并没有cos.fieldName字段 并且在前端也并没有发现field字段? 后端: cos: { /**

funky-tiger commented 6 years ago

我发现我没有动config.js里面的cos的任何东西 就是不好使 就是报错{code: -1, error: "ERR_REQUEST_LOST_FIELD"} 不懂 好迷好迷

funky-tiger commented 6 years ago

后端server: cos: { region: 'ap-guangzhou',

    fileBucket: 'qcloudtest',

    uploadFolder: '',
}

前端: { url: config.service.uploadUrl, filePath: this.state.imgFilePath[i], name: 'file' } 此时报错变成: {code: -1, error: "[object Object]"}

funky-tiger commented 6 years ago

问题解决 记录一下: 如果是{code: -1, error: "ERR_REQUEST_LOST_FIELD"}就按照上面的说法去做 如果是{code: -1, error: "[object Object]"} 就是因为wafer2默认的存储桶和所属地域的问题 更改一下server/config/cos.region和fileBucket就好了 我的cos的所属地域是华南 这样写即可解决: cos: { region: 'cn-south', // Bucket 名称 fileBucket: 'qcloudtest', // 文件夹 uploadFolder: '', },