我一直在努力通过AFNetworking 2.0将一些jpg图像上传到服务器,并且我在stackoverflow上遇到了一些代码,但我得到了Cocoa错误3840.我查了一下,发现了关于txt文件的一些信息,但我没有上传txt文件,所以这让我很困惑。当我执行此代码时,它开始写入服务器一段时间,直到它崩溃时出现以下语句:
失败错误域= NSCocoaErrorDomain代码= 3840"操作 无法完成。 (可可误差3840。)" (JSON文本没有开始 使用数组或对象以及允许未设置片段的选项。) UserInfo = 0x155b1360 {NSDebugDescription = JSON文本未启动 数组或对象以及允许未设置片段的选项。}
我仍然是AFNetworking的新手,所以有人可以解释导致此错误的原因吗?
我在编写此代码时遇到的另一个问题是,我尝试使用NSData
方法保存dataWithContentsOfFile
,但它会一直返回{{1}使用该方法后。我已经尝试了多种方法,这些方法在下面编写。当我使用nil
(pathForResource
包含扩展名)_filename
时,它返回fileRoot
,但另一种方法nil
按预期工作,但之后甚至如果stringByAppendingPathComponent
的参数具有正确的路径,它仍会为dataWithContentsOfFile
返回nil
。现在,我刚刚使用imageToUpload
来解决问题。
有人也可以解释可能导致这种情况的原因吗?
很抱歉,如果我不想在一个帖子中发布2个单独的问题。我的第一个问题是最迫切的问题。谢谢。
UIImageJPEGRepresentation
答案 0 :(得分:1)
我可以通过设置以下属性来修复上传失败:
manager.responseSerializer = [AFJSONResponseSerializer serializerWithReadingOptions:NSJSONReadingAllowFragments];
我还能够通过不使用bundle方法修复我的第二个问题,而是从我的文档目录中抓取,如下所示:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:_filename];