iOS 网络上传图片

上传图片

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)];

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容