Пример #1
0
void FileUploader::uploadMedia(const FullMsgId &msgId, const ReadyLocalMedia &media) {
    if (media.type == PreparePhoto) {
        App::feedPhoto(media.photo, media.photoThumbs);
    } else if (media.type == PrepareDocument || media.type == PrepareAudio) {
        DocumentData *document;
        if (media.photoThumbs.isEmpty()) {
            document = App::feedDocument(media.document);
        } else {
            document = App::feedDocument(media.document, media.photoThumbs.begin().value());
        }
        document->status = FileUploading;
        if (!media.data.isEmpty()) {
            document->setData(media.data);
        }
        if (!media.file.isEmpty()) {
            document->setLocation(FileLocation(StorageFilePartial, media.file));
        }
    }
    queue.insert(msgId, File(media));
    sendNext();
}
Пример #2
0
void FileUploader::upload(const FullMsgId &msgId, const FileLoadResultPtr &file) {
    if (file->type == PreparePhoto) {
        PhotoData *photo = App::feedPhoto(file->photo, file->photoThumbs);
        photo->uploadingData = new PhotoData::UploadingData(file->partssize);
    } else if (file->type == PrepareDocument || file->type == PrepareAudio) {
        DocumentData *document;
        if (file->thumb.isNull()) {
            document = App::feedDocument(file->document);
        } else {
            document = App::feedDocument(file->document, file->thumb);
        }
        document->status = FileUploading;
        if (!file->content.isEmpty()) {
            document->setData(file->content);
        }
        if (!file->filepath.isEmpty()) {
            document->setLocation(FileLocation(StorageFilePartial, file->filepath));
        }
    }
    queue.insert(msgId, File(file));
    sendNext();
}