新浪微博客户端(40)-使用AFN发送带图片的微博
2024-09-25 22:33:05
DJComposeViewController.m
/** 发微博 */
- (void)sendStatusRequest { AFHTTPSessionManager *RequestManager = [AFHTTPSessionManager manager]; NSArray *photos = self.photosView.photos;
if (photos.count) { // 当前用户选择了图片 UIImage *photoImage = [photos firstObject];
NSString *urlString = @"https://upload.api.weibo.com/2/statuses/upload.json";
NSMutableDictionary *params = [NSMutableDictionary dictionary];
params[@"access_token"] = [DJAccountTool account].access_token;
params[@"status"] = self.textView.text; [RequestManager POST:urlString parameters:params constructingBodyWithBlock:^(id<AFMultipartFormData> _Nonnull formData) {
[formData appendPartWithFileData:UIImageJPEGRepresentation(photoImage, 1.0) name:@"pic" fileName:@"upload.jg" mimeType:@"image/jpeg"];
} progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
[MBProgressHUD showSuccess:@"发送成功"];
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
[MBProgressHUD showError:@"发送失败"];
}]; } else { // 当前用户未选择图片 NSString *urlString = @"https://api.weibo.com/2/statuses/update.json"; NSMutableDictionary *params = [NSMutableDictionary dictionary];
params[@"access_token"] = [DJAccountTool account].access_token;
params[@"status"] = self.textView.text; [RequestManager POST:urlString parameters:params progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
[MBProgressHUD showSuccess:@"发送成功"];
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
[MBProgressHUD showError:@"发送失败"];
}]; } // 关闭当前界面
[self dismissViewControllerAnimated:YES completion:nil];
}
最终效果:
最新文章
- HashMap和 Hashtable的比较
- 【Lucene】三个高亮显示模块的简单示例-Highlighter
- Find a point on a &#39;line&#39; between two Vector3
- Bootstrap 类解析
- 对QT的理解——能在公司里不做Java,不做很偏门的产品,不使用偏门的语言,还有钱挣,要有感恩的心
- TCP服务端和客户端的框架
- Pick-up sticks(判断两条线段是否相交)
- Android动态设定GridView的高度,固定column,实现高度自适应
- Output\TEST.sct(7): error: L6236E: No section matches selector - no section to be FIRST/LAST.
- 【搬运工】之YSlow安装教程
- DeepLearning.ai学习笔记汇总
- 【Android 应用开发】Android 网络编程 API笔记 - java.net 包 权限 地址 套接字 相关类 简介
- i3wm 调节音量
- IScroll5要防止重复加载
- 详细记录sql运行时间(精确到毫秒)
- 过滤掉URL中的参数部分
- 《Go语言实战》摘录:6.1 并发 - 并行 与 并发
- 挖财大牛讲 Springboot工作流程
- MySQL(分组、连表操作、备份数据库)
- mianshi
热门文章
- 绘制图形与3D增强技巧(三)----三角形图元TRANGLE
- Spark 常用参数及调优
- 操蛋的CTex
- 【poj2122】 Optimal Milking
- UOJ34 多项式乘法
- $(document).click() 在苹果手机上不能正常运行
- Android成长日记-使用ToggleButton实现灯的开关
- GPU keylogger &;&; GPU Based rootkit(Jellyfish rootkit)
- Pipe
- tar.xz文件如何解压