美文网首页关爱小白
多张图片上传(转载)

多张图片上传(转载)

作者: thinkwick | 来源:发表于2017-08-07 18:58 被阅读9次

    - (void)someViewController:(SomeViewController *)someViewController sendToAnotherVCWithName:(NSString*)name andIDNum:(NSString*)idNum {NSLog(@"名字:%@ 和身份证号:%@", name, idNum);// ----------------------------上传图片----/*

    此段代码如果需要修改,可以调整的位置

    1. 把upload.php改成网站开发人员告知的地址

    2. 把name改成网站开发人员告知的字段名

    */// 查询条件NSDictionary*dic = [NSDictionarydictionaryWithObjectsAndKeys:name,@"name", idNum,@"idNumber",nil];// 基于AFN3.0+ 封装的HTPPSession句柄AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];    manager.requestSerializer.timeoutInterval =20;    manager.responseSerializer.acceptableContentTypes = [NSSetsetWithObjects:@"text/plain",@"multipart/form-data",@"application/json",@"text/html",@"image/jpeg",@"image/png",@"application/octet-stream",@"text/json",nil];// 在parameters里存放照片以外的对象[manager POST:@"http://www.example.com/Project/upload.php"parameters:dic constructingBodyWithBlock:^(id  _Nonnull formData) {// formData: 专门用于拼接需要上传的数据,在此位置生成一个要上传的数据体// 这里的_photoArr是你存放图片的数组for(inti =0; i < _photosArr.count; i++) {UIImage*image = _photosArr[i];NSData*imageData =UIImageJPEGRepresentation(image,0.5);// 在网络开发中,上传文件时,是文件不允许被覆盖,文件重名// 要解决此问题,// 可以在上传时使用当前的系统事件作为文件名NSDateFormatter*formatter = [[NSDateFormatteralloc] init];// 设置时间格式[formatter setDateFormat:@"yyyyMMddHHmmss"];NSString*dateString = [formatter stringFromDate:[NSDatedate]];NSString*fileName = [NSStringstringWithFormat:@"%@.jpg", dateString];/*

    *该方法的参数

    1. appendPartWithFileData:要上传的照片[二进制流]

    2. name:对应网站上[upload.php中]处理文件的字段(比如upload)

    3. fileName:要保存在服务器上的文件名

    4. mimeType:上传的文件的类型

    */[formData appendPartWithFileData:imageData name:@"upload"fileName:fileName mimeType:@"image/jpeg"];//}    } progress:^(NSProgress* _Nonnull uploadProgress) {NSLog(@"---上传进度--- %@",uploadProgress);    } success:^(NSURLSessionDataTask* _Nonnull task,id_Nullable responseObject) {NSLog(@"```上传成功``` %@",responseObject);    } failure:^(NSURLSessionDataTask* _Nullable task,NSError* _Nonnull error) {NSLog(@"xxx上传失败xxx %@", error);    }];}

    作者:FANTASIED

    链接:http://www.jianshu.com/p/a55b0d67dbbf

    來源:简书

    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    相关文章

      网友评论

        本文标题:多张图片上传(转载)

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