【发布时间】:2014-01-06 01:59:23
【问题描述】:
我发现这个错误发生在许多其他用户身上,尽管尝试了许多建议的解决方案似乎没有任何效果,所以我试图发布我的具体案例。
我正在尝试使用 django 将图像从 iphone 应用程序保存到我的 postgresql 数据库。
我的观点是这样的:
def objectimages(request, obj_id):
object = imagesTable.objects.filter(uniqueid=obj_id)
if request.method == 'POST':
value = request.POST.get('image')
f= open('image.txt', 'w+')
f.write(value)
f.close()
object.update(image=value)
return HttpResponse("Post received")
elif request.method == 'GET':
output = serializers.serialize('json',object, fields=('image'),indent=5, use_natural_keys=True)
return HttpResponse(output, content_type="application/json")
- 该文件仅用于调试目的,它似乎写入了正确的数据
- 也试过 return HttpResponse({}, content_type="application/json")
在我的应用程序中,发布请求是使用 AFNetworking 完成的,如下所示:
-(void) saveImageToDB
{
NSString* BaseURLString = POST_IMAGE;
NSData* data = UIImagePNGRepresentation(self.image);
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
[manager POST:BaseURLString
parameters:@{@"image":[data base64EncodedString]}
success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"image saved successfuly");
}
failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error saving image: %@", error)
}];
}
所以我添加了这行代码
manager.responseSerializer = [AFJSONResponseSerializer serializerWithReadingOptions:NSJSONReadingAllowFragments];
并收到此错误:Invalid value around character 1
我也尝试这样做:
AFJSONRequestSerializer *requestSerializer = [AFJSONRequestSerializer serializer];
[requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Accept"];
manager.requestSerializer = requestSerializer;
最后总是The request timed out.
请告知我的请求有什么问题
【问题讨论】:
标签: django json postgresql afnetworking-2