我正在使用此代码:
ParseObject newPObject = new ParseObject("animals");
newPObject.put("name", "dog");
newPObject.put("sound", soundAsByteArray);
try {
newPObject.save();
} catch (ParseException e) {
}
98%的时间一切都保存得很好,我可以在解析数据浏览器中完美地获取文件,但有2%的时间我收到此错误:
<Error><Code> AccessDenied</Code> <Message>Access Denied</Message> <RequestId>****</RequestId> <HostId></HostId> </Error>
保存对象时没有任何异常,对象本身出现在数据浏览器中。
答案 0 :(得分:0)
所以在没有得到解析团队的任何帮助之后我决定把事情掌握在自己手中,这就是我所做的:
使用此代码在云代码中定义一个保存功能:
var animal = request.object;
var bytesArrayLength = animal.get("byteArrayLength");
var sound = animal.get("sound");
Parse.Cloud.httpRequest({
url: sound.url(),
success: function(fileResponse) {
if (bytesArrayLength == fileResponse.buffer.length) {
// Checked out - Continue with save
response.success(); // Continue to the after save
}
else {
// Something bad happened and we need to save the animal again
response.error("Bytes length is not equals to the real length, need to re-upload sound");
}
},
error: function(error) {
response.error(error);
}
});
像魅力一样。