Mac上传图片

来源:互联网 发布:微软3600鼠标 mac 编辑:程序博客网 时间:2024/06/05 23:53

方式一: 以文件流的方法上传图片

- (void)file {    NSDictionary *params = @{                             @"access_token":@"d5a05f9f-34a0-4c48-a7a2-90a5818ca9a2"                             };    NSString *url = [NSString stringWithFormat:@"%@1.0/user/photo",kRequestUrl];    AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];    manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/json",                                                         @"text/html",                                                         @"image/jpeg",                                                         @"image/png",                                                         @"application/octet-stream",                                                         @"text/json",                                                         nil];    NSURLSessionDataTask *task = [manager POST:url parameters:params constructingBodyWithBlock:^(id<AFMultipartFormData>  _Nonnull formData) {        // image 需要设置成 nsdata        NSData *imageData = [self.images TIFFRepresentation];        NSBitmapImageRep *imageRep = [NSBitmapImageRep imageRepWithData:imageData];        [imageRep setSize:[[_imageView image] size]];        NSData *imageDatas = [imageRep representationUsingType:NSPNGFileType properties:nil];        NSDateFormatter *formatter = [[NSDateFormatter alloc]init];        formatter.dateFormat = @"yyyyMMddHHmmss";        NSString *str = [formatter stringFromDate:[NSDate date]];        NSString *fileName = [NSString stringWithFormat:@"%@.jpg", str];        [formData appendPartWithFileData:imageDatas                                    name:@"photo"                                fileName:fileName                                mimeType:@"image/png"];    } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nonnull responseObject) {        NSLog(@"%@", responseObject);    } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {        NSLog(@"%@", error);    }];}