上传图片流到服务器(AFN方法) (多张图片)(图片流)

上传图片流到服务器(AFN方法) (多张图片)(图片流)

第一步//获取图片

UIAlertController *actionSheet = [UIAlertController alertControllerWithTitle:@"添加照片" message:nil preferredStyle:UIAlertControllerStyleActionSheet];

UIAlertAction *cancel = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleDestructive handler:^(UIAlertAction * _Nonnull action) {

[actionSheet dismissViewControllerAnimated:YES completion:^{

}];

}];

UIAlertAction *PhotoAlbum = [UIAlertAction actionWithTitle:@"从相册获取" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {

[self reloadImagesFromLibrary];

}];

UIAlertAction *camera = [UIAlertAction actionWithTitle:@"从摄像头获取" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {

UIImagePickerController *picker = [[UIImagePickerController alloc] init];

if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {

picker.sourceType = UIImagePickerControllerSourceTypeCamera;

NSArray *temp_MediaTypes = [UIImagePickerController availableMediaTypesForSourceType:picker.sourceType];

picker.mediaTypes = temp_MediaTypes;

picker.delegate = self;

picker.allowsEditing = YES;

}

[self presentViewController:picker animated:YES completion:^{

}];

}];

[actionSheet addAction:PhotoAlbum];

[actionSheet addAction:camera];

[actionSheet addAction:cancel];

[self presentViewController:actionSheet animated:YES completion:^{

}];

//这个是调用摄像头的回调方法

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{

[self dismissViewControllerAnimated:YES completion:nil];

UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];

[self.frontIDCard setImage:[image imageWithRenderingMode:1] forState:UIControlStateNormal];

//因为要上传多张照片所以放到一个数组里 (要注意控制图片的尺寸和质量)

[self.postImageArr addObject:[self image:image byScalingToSize:CGSizeMake(400, 800)]];

}

//这个是选取拍摄的照片的方法

- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker{

[picker dismissViewControllerAnimated:YES completion:^{

}];

}

//更改图片大小

- (UIImage *)image:(UIImage*)image byScalingToSize:(CGSize)targetSize {

UIImage *sourceImage = image;

UIImage *newImage = nil;

UIGraphicsBeginImageContext(targetSize);

CGRect thumbnailRect = CGRectZero;

thumbnailRect.origin = CGPointZero;

thumbnailRect.size.width  = targetSize.width;

thumbnailRect.size.height = targetSize.height;

[sourceImage drawInRect:thumbnailRect];

newImage = UIGraphicsGetImageFromCurrentImageContext();

UIGraphicsEndImageContext();

return newImage ;

}

//传图片流

- (void)postImages {

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];

manager.responseSerializer = [AFHTTPResponseSerializer serializer];

[manager POST:Period parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> formData)

{

//
上传 多张图片

for(NSInteger i = 0; i < self.postImageArr.count; i++) {

NSData * imageData = UIImageJPEGRepresentation([self.postImageArr objectAtIndex: i], 0.5);

//
上传的参数名

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];

formatter.dateFormat = @"yyyyMMddHHmmss";

NSString *str = [formatter stringFromDate:[NSDate date]];

NSString *fileName = [NSString stringWithFormat:@"%@.jpg", str];

[formData appendPartWithFileData:imageData name:str fileName:fileName mimeType:@"image/jpeg"];

}

}

success:^(AFHTTPRequestOperation *operation, id responseObject)

{

NSString *result = [[NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding];

NSLog(@"完成 %@", result);

}

failure:^(AFHTTPRequestOperation *operation, NSError *error)

{

NSLog(@"错误 %@", error.localizedDescription);

}];

}

时间: 2024-08-07 21:17:50

上传图片流到服务器(AFN方法) (多张图片)(图片流)的相关文章

C# WinForm 上传图片,文件到服务器的方法Uploader.ashx

网上有很多方案,起初用时,因为对asp.net不太了解,觉得FTP实现不错,可是后来发现,如果机器在域控下,就会有问题. 一年过去了,asp.net也熟悉了,知道ajax没事应该用ashx,验证码也用ashx,当然这里要说的WinForm上传也应该是ashx了吧,哈哈,先提供简单思路: 接收文件的asp.net是:Uploader.ashx,相关代码: view plaincopy to clipboardprint? <%@ WebHandler Language="C#" C

Android上传图片(PHP服务器)

原理 Android客户端模拟一个HTTP的Post请求到服务器端,服务器端接收相应的Post请求后,返回响应信息给给客户端. PHP服务器 <?php move_uploaded_file($_FILES['file']['tmp_name'], "./upload/".$_FILES["file"]["name"]); ?> Android客户端 package com.example.uploadfile.app; import

php实现上传图片保存到数据库的方法

http://www.jb51.net/article/61034.htm 作者:傲雪星枫 字体:[增加 减小] 类型:转载 这篇文章主要介绍了php实现上传图片保存到数据库的方法,可通过将图片保存在数据库实现多台服务器共享文件的功能,非常具有实用价值,需要的朋友可以参考下 php实现上传图片保存到数据库的方法.分享给大家供大家参考.具体分析如下: php 上传图片,一般都使用move_uploaded_file方法保存在服务器上.但如果一个网站有多台服务器,就需要把图片发布到所有的服务器上才能

kindeditor扩展粘贴图片功能&amp;修改图片上传路径并通过webapi上传图片到图片服务器

前言 kindeditor是一个非常好用的富文本编辑器,它的简单使用我就不再介绍了. 而kindeditor却对图片的处理不够理想. 本篇博文需要解决的问题有两个: kindeditor扩展粘贴图片功能 kindeditor修改图片上传路径并通过webapi上传图片到图片服务器(支持分布式图片) 结果演示 1.扩展粘贴图片功能演示 2.修改图片上传路径演示: 我们的网站演示地址是:http://localhost:9393/ 我们的图片服务器地址是:http://localhost:9394/

上传图片到cdn服务器

1 /** 2 * 发送POST请求 3 */ 4 function doPost2($url, $postdata) { 5 //初始化 6 $curl = curl_init(); 7 // 设置post方式提交 8 curl_setopt($curl, CURLOPT_POST, 1); 9 // 设置抓取的url 10 curl_setopt($curl, CURLOPT_URL, $url); 11 // 设置提交的数据 12 curl_setopt($curl, CURLOPT_PO

MVC异步上传图片到本地/服务器

这两天朋友问我,有没有异步上传图片到本地/服务器这种demo,他有用, 我就想,好吧, 那刚好周末了,整理一套出来. 主要用到的是jquery uploadify 这个juqery的插件 ,可以无刷新,直接后台上传返回地址 下面先看前台的代码: @{ ViewBag.Title = "Demo"; Layout = "~/Views/Shared/_Layout.cshtml"; } @section styles{ <link href="~/Co

上传图片/文件到服务器

package yao.camera.util; import java.io.ByteArrayOutputStream; import java.io.DataOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.URL; import android.gr

将本地文件上传到指定的服务器(HttpWebRequest方法)

将本地文件上传到指定的服务器(HttpWebRequest方法),通过文件流,带文件名,同文件一同上传的表单文本域及值. 1 ///<summary> 2 /// 将本地文件上传到指定的服务器(HttpWebRequest方法) 3 /// </summary> 4 /// <param name="address">文件上传到的服务器</param> 5 /// <param name="fileNamePath&quo

文件_ _android从资源文件中读取文件流并显示的方法

======== 1   android从资源文件中读取文件流并显示的方法. 在android中,假如有的文本文件,比如TXT放在raw下,要直接读取出来,放到屏幕中显示,可以这样: private void doRaw(){ InputStream is = this.getResources().openRawResource(R.raw.ziliao); try{ doRead(is); }catch(IOException e){ e.printStackTrace(); } } pri