PHP -- 上传文件接口编写 及 iOS -- 端上传图片AF实现

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP -- 上传文件接口编写 及 iOS -- 端上传图片AF实现相关的知识,希望对你有一定的参考价值。

php 上传文件接口:

//保存图片
$json_result [‘status‘] = 0;
$path = ‘upfile‘;
$json_result [‘status‘] = 0;
$json_result [‘successmsg‘] = ‘上传失败‘;
if (isset ( $_FILES [‘image‘] )) {
    $upfile = ‘upfile/‘ . $_FILES [‘image‘] [‘name‘];
    if (! @file_exists ( $path )) {
        @mkdir ( $path );
    }
    $result = @move_uploaded_file ( $_FILES [‘image‘] [‘tmp_name‘], $upfile );
    if (! $result) {
        $json_result [‘status‘] = 0;
        $json_result [‘successmsg‘] = ‘上传失败‘;
        $json_result [‘datas‘] = array (‘savePath‘ => $upfile );
        exit ( json_encode ( $json_result ) );
    }
}


$json_result [‘status‘] = 1;
$json_result [‘datas‘] = array (‘savePath‘ => "http://".$_SERVER[‘SERVER_NAME‘].":".$_SERVER[‘SERVER_PORT‘]."/".$upfile );
print_r(json_encode($json_result));

ios通过接口上传图片:

// 上传头像
- (void)uploadUserHeadImage:(UIImage *)image {
    // 获得网络管理者
    AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
    
    // 设置请求参数
    NSMutableDictionary *params = [NSMutableDictionary dictionary];
    
    [manager POST:@"http://localhost:8888/upload_image.php" parameters:params constructingBodyWithBlock:^(id<AFMultipartFormData>  _Nonnull formData) {
        
        // 获取图片数据
        NSData *fileData = UIImageJPEGRepresentation(image, 1.0);
        
        // 设置上传图片的名字
        NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
        formatter.dateFormat = @"yyyyMMddHHmmss";
        NSString *str = [formatter stringFromDate:[NSDate date]];
        NSString *fileName = [NSString stringWithFormat:@"%@.png", str];
        
        [formData appendPartWithFileData:fileData name:@"image" fileName:fileName mimeType:@"image/png"];
        
    } progress:^(NSProgress * _Nonnull uploadProgress) {
        NSLog(@"%@", uploadProgress);
    } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
        // 返回结果
        NSLog(@"%@", responseObject[@"datas"]);
    } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
        NSLog(@"%@", error);
    }];
}

 

以上是关于PHP -- 上传文件接口编写 及 iOS -- 端上传图片AF实现的主要内容,如果未能解决你的问题,请参考以下文章

使用 Laravel-Swagger 编写接口文档(php)

.Net Core小技巧 - 使用Swagger上传文件

如何在 PHP 中编写文件上传测试?

layui文件上传接口怎么写

ios开发之--使用AFN上传3.1.0上传视频,不走成功回调原因及解决方法

PHP-02.文件上传php保存/转移上传的文件常见的网络传输协议请求报文及属性响应报文及属性