【问题收集·中级】关于XMPP使用Base传送图片

下面是我与博友的问答过程:并在最后链接附录了相应的文件:

博友问题:  16:35:38

他跟我说要 内容图片  base64编码 上传、、
博友问题:  16:35:45
我用的是afn。。怎么上传呢。。擦
博友问题:  16:35:46
没做过
我的回答:  16:36:20
Base64就是把图片转成字符串
博友问题:  16:36:26
额。
博友问题:  16:36:33
怎么转 ?
我的回答:  16:36:44
你怎么上传字符串,就怎么上传
我的回答:  16:36:51
稍等,我把我写的方法发给你
DATA2STRING.zip
3.8 KB

博友问题:  16:37:01
嗯 。。、
下面是我XMPP中发送图片的核心代码
我的回答:  16:40:08
-(void)sendImage:(UIImage *)aImage
{
    NSLog(@"准备发送图片");
    NSData *data = [Photo image2Data:aImage];
    NSString *imgStr =[data base64Encoding];
    if (data.length > 0)
    {
        NSDictionary *messageDic=[NSDictionary dictionaryWithObjectsAndKeys:imgStr,@"file",[NSNumber numberWithInt:kWCMessageTypeImage],@"messageType", @"",@"text",[[NSUserDefaults standardUserDefaults] valueForKey:kMY_USER_NICKNAME],@"nickName",@"1",@"isRead", nil];
        NSString *msgJson=[messageDic JSONRepresentation];
       
        XMPPMessage *mes =[XMPPMessage messageWithType:@"chat" to:[XMPPJID jidWithString:_friendJid resource:@"ios"]];
        [mes addChild:[DDXMLNode elementWithName:@"body" stringValue:msgJson]];
       
        //发送消息
        [[WCXMPPManager sharedInstance] sendMessage:mes];
        [_messageText setText:nil];
    }
}
博友问题:  16:41:05
[data base64Encoding];
博友问题:  16:41:19
就直接这个、就可以转为字符串了、对吧 ?
我的回答:  16:42:47
嗯一行
我的回答:  16:43:00
用我写的工具类就行
博友问题:  16:43:18
好 。我写写看 。。
博友问题:  16:43:36
这样获取到 图片的字符串。。然后上传到服务器。。其他就没啥事了。。
博友问题:  16:46:59
对了、、
博友问题:  16:47:06
拿到图片的那些代码呢 ?
博友问题:  16:47:31
这图片从哪里选择出来。。。
我的回答:  16:47:57
照片选择器啊
我的回答:  16:48:07
我是用户自己选的图片
我的回答:  16:48:08
#pragma mark ----------图片选择完成-------------
-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
    UIImage *chosedImage=[info objectForKey:@"UIImagePickerControllerEditedImage"];
    [self.navigationController dismissViewControllerAnimated:YES completion:^{
        [self sendImage:chosedImage];
    }];
}
博友问题:  16:48:36
图片选完了、应该有个预览图的 。。
博友问题:  16:49:51
我写写看 。。
博友问题:  16:49:59
汗。。。没做过。杯具了

问题详情见:https://www.evernote.com/shard/s227/sh/0058fec7-299f-4dea-8c12-ef78ceb80041/5711986e3528a4f3dbf9ffba278acbf7

【问题收集·中级】关于XMPP使用Base传送图片的更多相关文章

  1. 【问题收集·中级】关于指示器自定义图片与UUID

    博友问题: 大哥 求教一下 iOS7 能否获取到 uuid 大哥 忙不忙 iOS的加载的时候 动态旋转效果 是 图片 嘛 ? 我的回答 05:43:34hud指示器我用的是这个MBProgressHU ...

  2. C# base 64图片编码解码

    使用WinForm实现了图片base64编码解码的 效果图: 示例base 64编码字符串: /9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKD ...

  3. [转] - 如何用QTcpSocket传送图片

    我们知道,tcp网络编程发送数据是利用套接字来实现,将要传输的东西转化为数据流再进行传输,为了确保数据传输的准确性和安全性,我们在发送数据流前发送一个quint32的常量来表示所要发送的数据的大小:当 ...

  4. url传送图片的base64编码给web客户端

    base64编码图片: #python3.6 import base64 with open("./aa.jpg", "rb") as f: data = ba ...

  5. web渗透系列--信息收集

    信息收集对于渗透测试前期来说是非常重要的,因为只有我们掌握了目标网站或目标主机足够多的信息之后,我们才能更好地对其进行漏洞检测.正所谓,知己知彼百战百胜! 信息收集的方式可以分为两种:主动和被动. 主 ...

  6. iOS中XMPP简单聊天实现 好友和聊天

    版权声明本文由陈怀哲首发自简书:http://www.jianshu.com/users/9f2e536b78fd/latest_articles;微信公众号:陈怀哲(chenhuaizhe2016) ...

  7. ios xmpp 发送语音图片解决方案

    ios xmpp 发送语音,图片解决方案,有需要的朋友可以参考下. 目前做IM多是用的xmpp. 因为项目需求需要实现语音和图片的发送. 发送语音图片有三种方法. 1,xmpp smack.文件传输方 ...

  8. Android WebRTC 音视频开发总结

    www.cnblogs.com/lingyunhu/p/3621057.html 前面介绍了WebRTCDemo的基本结构,本节主要介绍WebRTC音视频服务端的处理,,转载请说明出处(博客园RTC. ...

  9. [源码解析] PyTorch 分布式(2) ----- DataParallel(上)

    [源码解析] PyTorch 分布式(2) ----- DataParallel(上) 目录 [源码解析] PyTorch 分布式(2) ----- DataParallel(上) 0x00 摘要 0 ...

随机推荐

  1. FUNMVP:5G技术对块链信任体系建设的影响

    01 区块链现阶段应用在于概念证明 12月10日,工信部向三大运营商正式发放了5G系统实验频率运用允许,这让区块链从业者开端思索5G技术与区块链分别的可能性.在互联网的基础上依据区块链的特性完成价值的 ...

  2. mui框架(二)

    1.底部导航切换界面 HTML部分: <nav class="mui-bar mui-bar-tab"> <a id="defaultTab" ...

  3. SQL邮件服务(解决各种疑难杂症)+案例 + 使用SQLserver 邮件系统发送SQL代理作业执行警告

    首先你需要知道你要做的几部: 1 每个数据库都有自己的 SERVICE BROKER 很多SQL SERVER内部服务依赖它 2 启动 SERVICE BROKER 需要 1 STOP 你的 SQL  ...

  4. [2017BUAA软工助教]团队beta得分总表

    一.累计得分 项目 α例会 α发布 α测试 α展示 α事后 合计 满分 50 10 10 150 10 230 hotcode5 50 10 9 150 9 228 弗朗明哥舞步 50 10 8 13 ...

  5. 第四篇——Spring音乐登录界面设计及实现(C#)

    Spring音乐播放器,我们小组设计其启动时有一个登录界面,用户初次可以注册,输入用户名和密码,点击注册即将输入信息保存到register文本文件中:如果已有用户名,输入用户名和密码,点击登录,程序会 ...

  6. 第一个Sprint冲刺总结(事后诸葛亮及团队贡献分)

    第一个Sprint冲刺总结(事后诸葛亮及团队贡献分)   组员:欧其锋 廖焯燊 林海信 何武鹏 第一阶段的最终燃尽图如下: 2.事后诸葛亮: 3.团队贡献分: 欧其锋:22 林海信:21 何武鹏:19 ...

  7. ORACLE创建数据库时无法创建目录

    ORACLE创建数据库时无法创建目录,如图所示信息 原因:没有创建写入的权限 解决:修改文件夹权限即可 F:\oracle\product\10.2.0\db_1\cfgtoollogs\dbca 增 ...

  8. Ubuntu读取/root/.profile时发现错误:mesg:ttyname fa

    https://jingyan.baidu.com/article/fb48e8be3743696e632e1450.html gedit /root/.profile mesg n => tt ...

  9. Elasticsearch学习系列之term和match查询

    lasticsearch查询模式 一种是像传递URL参数一样去传递查询语句,被称为简单查询 GET /library/books/_search //查询index为library,type为book ...

  10. Linux命令(十九) 查看系统负载 uptime

    一.命令介绍 Linux 系统中 uptime 命令主要用于获取主机运行时长和查询Linux系统负载等信息. uptime 命令可以显示系统已经运行了多长时间,信息显示依次为:现在时间.系统已经运行时 ...