将图像保存到Parse时出错:"请求正文流耗尽"

时间:2015-04-02 10:30:49

标签: ios objective-c parse-platform

我在将图片上传到Parse时遇到问题。事情一直很好,直到昨天。我的应用程序尚未生效,我只是测试,图像大约是25kb,它只是用于用户个人资料图片的单个图像。代码是:

 //Save the image
            NSData *imageData = UIImageJPEGRepresentation(image, 1);
            PFFile *imageFile = [PFFile fileWithName:@"profile.jpg" data:imageData];
            [imageFile saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {

                if(succeeded){

                    [userBank setObject:imageFile forKey:@"profilePic"];

                    [userBank saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
                        if(succeeded){

                           NSLog(@"save done");
                           userBank = [PFUser currentUser];
                           user[@"profilePic"] = imageFile;
                           [userBank saveInBackground];

                        }

                        else{

                            NSLog(@"%@", error);
                            handler(NO,YES,nil);
                        }


                    }];


                }

                else{

                    NSLog(@"image not saved %@",error);
                    handler(NO,YES,nil);
                }

            }];//End save image block

我突然收到此错误: 请求正文流耗尽,NSUnderlyingError = 0x17ece150“请求正文流耗尽” 。有没有人以前遇到过这个问题,可以给我一些指示,告诉我这里可能会发生什么?

3 个答案:

答案 0 :(得分:0)

试试这个:

NSData *imageData = UIImageJPEGRepresentation(image, 1);
PFFile *imageFile = [PFFile fileWithName:@"profile.jpg" data:imageData];
[imageFile saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
    if (!error) {
        if (succeeded) {
           userBank = [PFUser currentUser];
            user[@"profilePic"] = imageFile;
            [userBank saveInBackground];
        }
    } else {
         // Handle error
    }        
}];

答案 1 :(得分:0)

似乎问题是我的连接或Parse,虽然我尝试重置我的互联网连接多次,但没有任何区别。无论如何,大约30分钟后它再次开始工作。只是发布此事,其他人也有同样的问题。 Parse似乎不可靠......

答案 2 :(得分:0)

试试这个 这个错误来自IOS,但你可以使用不同的方法 比如在附加文件的formdata中更改代码行

var fd = new FormData();

fd.append("fileToUpload", document.getElementById('fileToUpload').files[0]);

到下面的行基本上没有附加文件控件但使用base64图像数据

var reader = new FileReader();

reader.readAsDataURL(opmlFile.files[0]);

reader.onload = function () {

var base64DataImg = reader.result;            

base64DataImg = base64DataImg.replace('data:'imagetype';base64,', '');      
formData.append("FileBase64Data", base64DataImg);
}

此致 阿尼尔