2015-08-06 5 views
1

Я загрузил приложение чата чата quickblox, и отправка текстовых сообщений работает нормально. Но как отправить вложение, как картинка, видео или еще?Отправить вложение в QuickBlox IOS sdk

Согласно документации Quickblox. Там классно назвали QBChatAttachment, обладающие свойствами как типа, URL и идентификатор, но как прикрепить файлы, такие как изображения, видео или другое?

ответ

4

Пожалуйста, правильно прочитайте SimpleSample-chat users-ios в этой ссылке, они упоминают все подробности о том, как отправить вложение и как получать и загружать вложение и т. Д.

Для отправки и получения вложений в QuickBox по этой ссылке: Send and Receive Attachment

Деталь Объяснение:

отправить и получить сообщение с приложением Отправить Attachment

Можно добавлять вложения к сообщение: например, изображение, аудио файл или видеофайл. Здесь нет никаких ограничений: вы можете использовать любой тип файла.

Чтобы отправить сообщение с вложениями, вы должны использовать то же самое, что и вы, , отправляйте регулярное сообщение с текстом, но добавляйте к нему объект привязки. Приложение может быть:

1) Файл Содержание модуля Example

2) Файл в пользовательских объектов модуль Example

Чтобы отправить сообщение с приложением

вы должны загрузить файл в модуль содержимого, модуль пользовательских объектов , используя пример выше, или используйте URL-адрес для любого файла в Интернете. Затем вы должны указать идентификатор в файл для сообщения.

Например, мы используем Content module для хранения вложений. Следующие фрагменты показать

как загрузить файл содержимого модуля и отправить его как прикрепиться:

// Upload a file to the Content module 
    NSData *imageData = UIImagePNGRepresentation([UIImage imageNamed:@"arrow.png"]); 

    [QBRequest TUploadFile:imageData fileName:@"arrow.png" contentType:@"image/png" isPublic:NO successBlock:^(QBResponse 
*response, QBCBlob *uploadedBlob) { 
NSUInteger uploadedFileID = uploadedBlob.ID; 

// Create chat message with attach 
// 
QBChatMessage *message = [QBChatMessage message]; 

... 

QBChatAttachment *attachment = QBChatAttachment.new; 
attachment.type = @"image"; 
attachment.ID = [NSString stringWithFormat:@"%d", uploadedFileID]; //use 'ID' property to store an ID of a file in Content or CustomObjects modules 

    [message setAttachments:@[attachment]]; 
    } statusBlock:^(QBRequest *request, QBRequestStatus *status) { 
// handle progress    
} errorBlock:^(QBResponse *response) { 
NSLog(@"error: %@", response.error); 
}]; 

Получить вложение

Для примера мы используем модуль Content для хранения вложений.Следующие фрагменты позволяют получить сообщение с приложением и его загрузки:

#pragma mark QBChatDelegate 

    - (void)chatDidReceiveMessage:(QBChatMessage *)message{ 
for(QBChatAttachment *attachment in message.attachments){ 
    // download file by ID 
    [QBRequest TDownloadFileWithBlobID:[attachment.ID integerValue] successBlock:^(QBResponse *response, NSData *fileData) { 
     UIImage *image = [UIImage imageWithData:fileData]; 

    } statusBlock:^(QBRequest *request, QBRequestStatus *status) { 
     // handle progress    
    } errorBlock:^(QBResponse *response) { 
     NSLog(@"error: %@", response.error); 
    }]; 
} 
} 

, чтобы получить ссылку на вложения и использовать, чтобы показать изображение:

 - (void)chatDidReceiveMessage:(QBChatMessage *)message{ 
for(QBChatAttachment *attachment in message.attachments){ 
    // or if you have only file ID 
    NSString *privateUrl = [QBCBlob privateUrlForID:[attachment.ID integerValue]]; 
} 
} 

Я надеюсь, что это будет полезно для тебя.

Смежные вопросы