您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 商业计划书 > 如何在App中实现朋友圈功能之四在朋友圈中添加发送图片功能
北京箭扣科技有限公司中实现朋友圈功能之四在朋友圈中添加发送图片功能实现概念:当用户在界面点击发送按钮的时候,如果已经有选择好的图片,我们的做法是先上传图片到服务器,再将图片Id作为Post的属性上传。这里跳转到用户聊天发送接收图片+链接在技术分享关于用户聊天发送接收图片的时候,我们讲解过PhotoAPI的使用,这里我们再简单提一下如何使用。发送图片调用AnSocial的Photos/create.json,参数有user_id(用户的id)、AnSocialFile(图片文件)、resolutions(需要缩略图的尺寸,一般为100x100或200x200)。由于朋友圈允许复数图片的展示,所以我们在调用Photos/create.json时,需要调用多次。这时候需要使用一个小技巧来判断到最后一张图片上传完成时,才调用posts/create.json。这个小技巧就是:设置一个全局变量数字类型的photoIndexCount,每上传一张图片,photoIndexCount++在上传图片回调方法中进行判断,如果photoIndexCount等于用户上传图片的总数,则调用posts/create.json.上传图片是为了拿到图片id作为后面创建Post的参数,所以我们还应该设置一个全局变量为字符串类型的photo_ids,在上传图片成功的回调方法中,将得到的photo_id以”,”分隔的方式组装到photo_ids里。实现步骤:1、上传图片代码参考(以iOS为例)://上传图片[_anSocialsendRequest:@photos/create.jsonmethod:AnSocialMethodPOSTparams:paramssuccess:^(NSDictionary*response){//上传图片成功后,图片指数增长1_photoIndexCount++;//当图片指数和图片总数相等时,调用发送Post方法,增加photo_ids参数if(_photoIndexCount==_photoTotalCount){北京箭扣科技有限公司将当前response中的id组装到photo_ids里NSString*photoId=[[[responseobjectForKey(@response)]objectForKey:@photo]objectForKey:@id];_photo_ids=[_photo_idsstringByAppendingString:photoId];sendPost();}else{//将当前response中的id组装到photo_ids里NSString*photoId=[[[responseobjectForKey:(@response)]objectForKey:@photo]objectForKey:@id];photoId=[photoIdstringByAppendingString:@,];_photo_ids=[_photo_idsstringByAppendingString:photoId];}}failure:^(NSDictionary*response){//[selfhandleFailure:response];}];2、发送Postif(nil!=_photo_ids&&0!=_photo_ids.length){[paramssetObject:_photo_idsforKey:@photo_ids];}提示:在发送Post之前,其中还值得注意的一点是图片是要展示在界面上的,多张图片太大的时候很容易造成内存溢出App闪退,所以我们需要在展示图片的时候将图片进行压缩,压缩图片基本上分为两个思路,压缩像素点,压缩尺寸,Android和iOS各有不同的做法。如何在App中实现朋友圈功能系列文章:之一朋友圈实现原理浅析之二快速实现用户信息的自定义之三快速实现双向好友功能之四在朋友圈中添加发送图片功能之五点赞、评论属性详细解析之六快速实现下拉加载朋友圈功能之七快速实现上拉加载朋友圈功能北京箭扣科技有限公司之八页面加载功能的逻辑与实现
本文标题:如何在App中实现朋友圈功能之四在朋友圈中添加发送图片功能
链接地址:https://www.777doc.com/doc-7746590 .html