如何在App中实现朋友圈功能之四在朋友圈中添加发送图片功能——箭扣科技Arrownock
来源:互联网 发布:金坛网络维护维修电话 编辑:程序博客网 时间:2024/04/30 04:01
如何在App中实现朋友圈功能
之四
在朋友圈中添加发送图片功能
实现概念:
当用户在界面点击发送按钮的时候,如果已经有选择好的图片,我们的做法是先上传图片到服务器,再将图片Id作为Post的属性上传。
这里跳转到用户聊天发送接收图片 + 链接 在技术分享关于用户聊天发送接收图片的时候,我们讲解过Photo API的使用,这里我们再简单提一下如何使用。
发送图片调用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为例):
//上传图片 [_anSocial sendRequest:@"photos/create.json" method:AnSocialMethodPOST params:params success:^(NSDictionary *response) { //上传图片成功后,图片指数增长1 _photoIndexCount ++; //当图片指数和图片总数相等时,调用发送Post方法,增加photo_ids参数 if (_photoIndexCount == _photoTotalCount) { //将当前response中的id组装到photo_ids里 NSString *photoId = [[[response objectForKey(@"response")]objectForKey :@"photo"]objectForKey:@"id"]; _photo_ids =[_photo_idsstringByAppendingString:photoId]; sendPost(); } else { //将当前response中的id组装到photo_ids里 NSString *photoId = [[[response objectForKey:(@"response")] objectForKey:@"photo"] objectForKey:@"id"]; photoId = [photoIdstringByAppendingString:@","]; _photo_ids = [_photo_idsstringByAppendingString:photoId]; } } failure:^(NSDictionary *response) { //[selfhandleFailure:response]; }];
2、发送Post
if (nil != _photo_ids && 0 != _photo_ids.length){ [params setObject:_photo_ids forKey:@"photo_ids"]; }
提示:
在发送Post之前,其中还值得注意的一点是图片是要展示在界面上的,多张图片太大的时候很容易造成内存溢出App闪退,所以我们需要在展示图片的时候将图片进行压缩,压缩图片基本上分为两个思路,压缩像素点,压缩尺寸,Android和iOS各有不同的做法。
如何在App中实现朋友圈功能系列文章:
之一朋友圈实现原理浅析
之二快速实现用户信息的自定义
之三快速实现双向好友功能
之四在朋友圈中添加发送图片功能
之五点赞、评论属性详细解析
之六快速实现下拉加载朋友圈功能
之七快速实现上拉加载朋友圈功能
之八页面加载功能的逻辑与实现
- 如何在App中实现朋友圈功能之四在朋友圈中添加发送图片功能——箭扣科技Arrownock
- 如何在App中实现朋友圈功能之三快速实现双向好友功能——箭扣科技Arrownock
- 如何在App中实现朋友圈功能之一朋友圈实现原理浅析——箭扣科技Arrownock
- 如何在App中实现朋友圈功能之二快速实现用户信息的自定义——箭扣科技Arrownock
- 如何在App中实现朋友圈功能之六快速实现下拉加载朋友圈功能——箭扣科技Arrownock
- 如何在App中实现朋友圈功能之七快速实现上拉加载朋友圈功能——箭扣科技Arrownock
- 如何在App中实现朋友圈功能之五点赞、评论属性详细解析——箭扣科技Arrownock
- 如何在App中实现朋友圈功能之八页面加载功能的逻辑与实现——箭扣科技Arrownock
- 如何在App中实现IM功能之五快速实现图片接收和发送——箭扣科技Arrownock
- 如何在App中实现IM功能之四创建稳健的消息发送模块——箭扣科技Arrownock
- 如何在App中实现IM功能之二快速实现离线消息模块——箭扣科技Arrownock
- 如何在App中实现IM功能之六快速实现群聊的高级功能——箭扣科技Arrownock
- 如何在App中实现IM功能之一离线消息常见浅析——箭扣科技Arrownock
- 如何在App中实现IM功能之三快速实现离线消息推送模块——箭扣科技Arrownock
- 如何在App中实现IM功能之七快速实现聊天列表排序模块——箭扣科技Arrownock
- Android中,如何实现在图片上添加返回功能
- 实现朋友圈回复功能
- Android之仿微信发朋友圈图片选择功能
- jquery的$.extend和$.fn.extend作用及区别
- 关于页面跳转过程中出现两个界面view出现重叠的处理
- Java编程思想重点笔记
- MVC5 + EF6 + Bootstrap3 (15) 应用ModelState和Data Annotation做服务器端数据验证
- Ubuntu下安装python的torndb开发环境
- 如何在App中实现朋友圈功能之四在朋友圈中添加发送图片功能——箭扣科技Arrownock
- DES算法详解和代码 - IP置换
- 酷友观点/经验:UI设计师不可不知的安卓屏幕知识(原创文章)
- 编程练习2----字符串操作(重复字符检查)
- The JAVA_HOME environment variable does not point to a working 32-bit JDK or JRE.
- UI_霓虹灯
- java中如何判断类的重复加载
- iOS存储的几种方式
- 财富赢家模拟炒股最新版分享,股市小散的利器