1.先修改键盘上的工具栏
3.上传服务器的相关操作
下面的方法是将富文本转换成纯文本的信息
以上是转换成纯文本,然后拼接上url操作,可以选择性忽略。
4.NSTextAttachment 延展,为NSTextAttachment添加一个属性(关键操作)
1.从服务器获取上传需要的 accessKeyId, accessKeySecret, securityToken;如果你们是本地直接配置,不需要从服务器拿直接省略。
2.配置OSSTask
3.1 上传图片
3.2 上传视频
iOS 11支持GIF文件了。那么怎么上传自己想要的GIF图片呢,
1.调用相册:UIImagePickerController 拿到代理返回的info数组。
2,最重要的一步,转为NSData(一般服务器以data 上传),用系统#import <Photos/Photos.h>
如果是iOS 11 以前,则可以用<AssetsLibrary/AssetsLibrary.h>
-( void )tranUpLoadImageGifWithImage:(NSDictionary<NSString *, id >*)info{
// 上传gif
//转为NSData
if ( @available (iOS11.0, *)) {
PHAsset *phAss = [info valueForKey:UIImagePickerControllerPHAsset]
PHImageRequestOptions *options = [PHImageRequestOptions new]
options.resizeMode = PHImageRequestOptionsResizeModeFast
options.synchronous= YES
PHCachingImageManager *mager = [[PHCachingImageManager alloc]init] [magerrequestImageDataForAsset:phAssoptions:optionsresultHandler:^(NSData* _Nullable imageData,NSString* _Nullable dataUTI,UIImageOrientationorientation,NSDictionary* _Nullable info) {
NSLog(@"能拿到:%@",imageData)
//上传服务器的方法
[ self upLoadImageData:imageData]
}]
} else {
// Fallback on earlier versions
}
}
3. 拿到NSData,就能上传服务器啦
-( void )upLoadImageData:(NSData*)data{
自己服务器上传地址
NSString*urlString = [NSStringstringWithFormat:@"%@",BASE_URL]
NSDictionary *params = @{@"image_model":@"1"}
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]
[ProgressHUD showLoading]
[managerPOST:urlStringparameters:paramsheaders: nil constructingBodyWithBlock:^( id _Nonnull formData) {
NSString*str =@"image_file"
NSString*fileName
// 上传图片,以文件流的格式
/**
*filedata : 图片的data
*name : 后台的提供的字段
*mimeType : 类型
*/
fileName = [NSStringstringWithFormat:@"%@.gif", str]
[formDataappendPartWithFileData:dataname:strfileName:fileNamemimeType:@"image/gif"]
}progress: NULL success:^(NSURLSessionDataTask* _Nonnull task, id _Nullable responseObject) {
[ProgressHUDdismiss]
//打印看下返回的是什么东西
NSLog(@"上传图片成功:%@",responseObject)
[ProgressHUDshow:@"图片上传成功!"]
}failure:^(NSURLSessionDataTask* _Nullable task,NSError* _Nonnull error) {
[ProgressHUDdismiss]
[ProgressHUDshow:@"图片上传失败!"]
NSLog(@"上传图片失败,失败原因是:%@", error)
}]
}
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)