отправить и получить сообщение с приложением Отправить 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]];
}
}
Я надеюсь, что это будет полезно для тебя.