AFNetworking发送图片分析

本文介绍了一个iOS应用中使用AFHTTPClient进行文件上传的方法。通过Objective-C代码示例展示了如何构造HTTP请求并上传文件,同时在服务器端使用PHP接收上传的文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

-(void)upload_attach:(NSData *)data fileName:(NSString *)filename mimeType:(NSString *)mtype {
    AFHTTPClient *httpClient;
    MBProgressHUD *hud = [[MBProgressHUD alloc] initWithView:self.view];
    [Tool showHUD:NSLocalizedString(@"正在上传",nil) andView:self.view andHUD:hud];
    NSString *userId = [[Config Instance] getUserName];
    NSArray *userId_arr = [userId componentsSeparatedByString:@"_"];
    NSString *username = [userId_arr objectAtIndex:0];
    NSString *company_id = [userId_arr objectAtIndex:1];
    NSDictionary *para = [NSDictionary dictionaryWithObjectsAndKeys:self.groupName, @"groupname",username,@"username", company_id, @"company_id",filename, @"filename",nil];
    NSLog(@"para:%@", para);
    NSString *serverAddr = [Config Instance].getServAddr;
    NSString *upload_path = [NSString stringWithFormat:@"%@/index.php/ofctrl/upload_attach", BasePath];
    NSURL *url = [NSURL URLWithString:serverAddr];
    httpClient = [[AFHTTPClient alloc] initWithBaseURL:url];
    NSMutableURLRequest *request = [httpClient multipartFormRequestWithMethod:@"POST" path:upload_path parameters:para constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
        [formData appendPartWithFileData:data name:@"uploadfile" fileName:filename mimeType:@"image/png"];
    }];
    [request setTimeoutInterval:30];
    AFHTTPRequestOperation *op = [[AFHTTPRequestOperation alloc] initWithRequest:request];
    [op setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
        NSLog(@"upload success!%@", (NSString *)responseObject);
        [hud hide:YES];
        //[self loadData];
    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
        NSLog(@"upload failed:%@", error);
        [hud hide:YES];
    }];
    //[httpClient.operationQueue addOperation:op];
    [op start];
};=====对应的PHP接收参数为
array (
  'uploadfile' =>
  array (
    'name' => '20150128163845.png',
    'type' => 'image/png',
    'tmp_name' => 'C:\\WINDOWS\\Temp\\php70.tmp',
    'error' => 0,
    'size' => 12767720,
  ),
 
 
 

转载于:https://www.cnblogs.com/progfun/p/4256347.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值