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


    【问题收集·中级】关于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

  • 相关阅读:
    封装图片处理类(缩略图)
    封装表单验证类
    魔术方法
    封装自己的smartyBC类
    快捷键
    unicode
    基本数据类型课上练习
    数制总结
    12.29.作业
    12.28作业
  • 原文地址:https://www.cnblogs.com/ChenYilong/p/3751965.html
Copyright © 2020-2023  润新知