美文网首页
iOS 网络上传图片

iOS 网络上传图片

作者: geekAppke | 来源:发表于2018-07-26 17:42 被阅读7次

上传图片

UIImage *image = info[UIImagePickerControllerEditedImage];
[self.uploadApi loadMultipartRequest:@[[self getImageFileWith:image]] params:nil loadingViewShown:NO];

构造参数(NSArray<MultipartFile *> *)files

- (MultipartFile *)getImageFileWith:(UIImage *)image {
    NSData *imageData = [image compressQualityWithMaxLength:(1024 * 1024)];
    NSDate *currentDate = [NSDate date];
    NSDateFormatter *format = [[NSDateFormatter alloc] init];
    format.dateFormat = @"yyyy.MM.dd.hh.mm.ss";
    NSString *dateString = [format stringFromDate:currentDate];
    NSString *fileName = [NSString stringWithFormat:@"%@.jpg", dateString];
    MultipartFile *file = [[MultipartFile alloc] initWithName:kPersonalUpDateHeadImage fileName:fileName mimeType:@"image/jpeg" data:imageData];
    return file;
}
@interface MultipartFile : NSObject

@property (nonatomic, copy, readonly) NSString *name;
@property (nonatomic, copy, readonly) NSString *fileName;
@property (nonatomic, copy, readonly) NSString *mimeType;
@property (nonatomic, copy, readonly) NSData *data;

- (instancetype)initWithName:(NSString *)name
                    fileName:(NSString *)fileName
                    mimeType:(NSString *)mimeType
                        data:(NSData *)data;
@end

@implementation MultipartFile
- (instancetype)initWithName:(NSString *)name
                    fileName:(NSString *)fileName
                    mimeType:(NSString *)mimeType
                        data:(NSData *)data {
    if (self = [super init]) {
        _name = name;
        _fileName = fileName;
        _mimeType = mimeType;
        _data = data;
    }
    return self;
}
@end

上传图片—压缩

  • 压缩到小于(1024 * 1024)
NSData *imageData = [image compressQualityWithMaxLength:(1024 * 1024)];

相关文章

网友评论

      本文标题:iOS 网络上传图片

      本文链接:https://www.haomeiwen.com/subject/sgobmftx.html