多张图片上传至服务器

#pragma mark - openLibrary

// 打开本地相册

- (void)openLocalPhoto
{
    UIImagePickerController *picker = [[UIImagePickerController alloc] init];
    picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
    picker.delegate  = self;
    picker.allowsEditing = YES;
    [self presentViewController:picker animated:YES completion:nil];
}

- (void) imagePickerController: (UIImagePickerController*) reader
 didFinishPickingMediaWithInfo: (NSDictionary*) info
{
    NSString *strType = [info objectForKey:UIImagePickerControllerMediaType];
    if ([strType isEqualToString:@"public.image"]) //当选择的类型是图片
    {
        UIImage *image = [info objectForKey:@"UIImagePickerControllerEditedImage"]; //先把图片转成NSData
        NSLog(@"image = %@", image);
        [reader dismissViewControllerAnimated:YES completion:nil]; //关闭相册界面
        //压缩图片
        UIImage *scalImage = [self scaleFromImage:image];
        NSString *strfileName = [self saveImage:scalImage];
        if (self.num == 1) {
            _one.image =  scalImage;
        } else if (self.num == 2) {
            _two.image = scalImage;
        } else if (self.num == 3){
            _three.image = scalImage;
        }

//保存到本地

}

}

#pragma mark - savaImage
// 保存图像
- (NSString *)saveImage:(UIImage*)image
{
    NSData *data;

if (UIImagePNGRepresentation(image) == nil)

{
        data = UIImageJPEGRepresentation(image, 1.0);
    }
    else
    {
        data = UIImagePNGRepresentation(image);
    }

NSFileManager *fileManager = [NSFileManager defaultManager];

NSString *docPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)firstObject];
    NSString *filePath = [docPath stringByAppendingPathComponent:@"oneImage.png"];

BOOL flag = nil;

BOOL rel = [fileManager fileExistsAtPath:filePath isDirectory:&flag];
    if (rel) {
        NSLog(@"存在");
        BOOL flagO = nil;
        NSString *filePathOne = [docPath stringByAppendingPathComponent:@"twoImage.png"];
        BOOL res = [fileManager fileExistsAtPath:filePathOne isDirectory:&flagO];
        if (res) {
            NSLog(@"存在");
           
            BOOL flags = nil;
            NSString *filePatht = [docPath stringByAppendingPathComponent:@"threeImage.png"];
            BOOL resu = [fileManager fileExistsAtPath:filePathOne isDirectory:&flags];
            if (resu) {
                NSLog(@"存在");
            } else {
                BOOL result = [data writeToFile:filePatht atomically:YES];
                if (result) {
                    NSLog(@"写入成功");
                    self.num = 3;
                    [self.picArray addObject:filePatht];
                }
            }

} else {

BOOL result = [data writeToFile:filePathOne atomically:YES];
            if (result) {
                NSLog(@"写入成功");
                [self.picArray addObject:filePathOne];
                self.num = 2;
            }

}

} else {

NSLog(@"不存在");
        BOOL result = [data writeToFile:filePath atomically:YES];
        [self.picArray addObject:filePath];
        if (result) {
            NSLog(@"写入成功");
            self.num = 1;

}

}

return filePath;

}

#pragma mark - ASIHTTPRequestDelegate

- (void)ASIFormDataRequestSuceed:(ASIFormDataRequest *)request
{

}

- (void)ASIFormDataRequestFailed:(ASIFormDataRequest *)request
{
    NSError *error = [request error];
    NSLog(@"error:%@",error);
}

- (IBAction)pushPic:(id)sender {

NSString *strUrl = [NSString stringWithFormat:@"%@", @"http://192.168.1.108:8080/resources/note/add/"];

strUrl = [strUrl stringByAppendingString:@"13061622013"];
            NSURL *url = [NSURL URLWithString:strUrl];
            ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
            [request setDelegate:self];
    for (int i = 0; i < self.picArray.count; i++) {
        [request addData:self.picArray[i] forKey:@"noteImg"];

}
            [request addRequestHeader:@"Content-Type" value:@"application/json; encoding=utf-8"];
            [request addRequestHeader:@"Accept" value:@"application/json"];

[request setRequestMethod:@"POST"];
   
            [request setDidFailSelector:@selector(ASIFormDataRequestFailed:)];
            [request setDidFinishSelector:@selector(ASIFormDataRequestSuceed:)];
            [request startAsynchronous];

}

时间: 2024-11-13 20:32:35

多张图片上传至服务器的相关文章

App端通过Base64多张图片上传到服务器,并存入数据库数据

import java.awt.image.BufferedImage; import java.io.ByteArrayInputStream; import java.io.File; import java.io.IOException; import java.util.HashMap; import java.util.Map; import javax.annotation.Resource; import javax.imageio.ImageIO; import javax.se

把一张图片 转成二进制流 用AFNetworking POST 上传到服务器.

把一张图片 转成二进制流 用AFNetworking POST 上传到服务器. AFHTTPRequestOperationManager *manager = [[AFHTTPRequestOperationManager alloc] initWithBaseURL:[NSURL URLWithString:BaseUrl]]; manager.responseSerializer = [AFJSONResponseSerializer serializer]; manager.reques

多张图片上传简单示例

说是原创,其实也是参考了众多网上的贴子,非常感谢那些无私奉献的前辈们! 这个项目在要用到fileupload包及相关的io包(我上传到网上了,大家可以免费下载), 另外也可以用struts2包,为了省事我把整个struts2-core-2.3.24.1的包都导进项目里了,该包里面包含了上传用到的所有包. struts2包可以从官网上下载:http://struts.apache.org/download.cgi#struts23241 1.上传多个图片是要注意 第一:<form id="f

手机选取图片上传到服务器

初学安卓四个月不到的我,可能入门也算不上.边学边摸索,慢慢地能在百度上找到正确的能用的代码了,这应该就是我学这么久得到的进步了. 今天花了一天的时间,实现了上传头像和更改头像的功能.大部分的代码都是copy过来的,大概能看懂,知道怎么用,仅此! 好的,忙了一天,做个自我总结~ 在这里先总结上传头像功能的实现: 思路: 创建一个activity,简单的关联一个有imageView和button的布局.当点击imageView的时候,弹出一个dialog,该dialog可以调用系统的拍照.相册,这样

Android文件上传至服务器

项目演示及讲解 优酷  http://v.youku.com/v_show/id_XODk5NjkwOTg4.html 爱奇艺  http://www.iqiyi.com/w_19rs1v2m15.html#vfrm=8-7-0-1 土豆  http://www.tudou.com/programs/view/fv0H93IHfhM 项目下载 1.手机端选择文件上传至服务器端 http://download.csdn.net/detail/u010134178/8457679 2.手机端拍照上传

网页上传到服务器后访问时出现怪异模式(Quirks mode)

1.更多内容请参考:http://blog.csdn.net/freshlover/article/details/11616563 http://blog.csdn.net/barebear/article/details/5100260 2.当使用jsp+tomcat+mysql开发时,将tomcat上传到服务器后,使用360浏览器通过ip访问网站时,本来很好的网站样式会变得混乱,导航栏,图片,特别是盒模型会有很大的变化.使用360的工具->开发人员工具.查看网页文档模式时,发现使用的是Qi

多张图片上传功能

今天闲着没事,把之前的多张图片上传代码整理了下. 页面主要代码: 1 <div class="upBox upBox2"> 2 <div class="d1"> 3 <a class="redA1 rightA" href="javascript:choosePhotos();" id="continue_add_button" style="display:none

HTML5 本地裁剪图片并上传至服务器(转)

很多情况下用户上传的图片都需要经过裁剪,比如头像啊什么的.但以前实现这类需求都很复杂,往往需要先把图片上传到服务器,然后返回给用户,让用户确定裁剪坐标,发送给服务器,服务器裁剪完再返回给用户,来回需要 5 步.步骤繁琐不说,当很多用户上传图片的时候也很影响服务器性能. HTML5 的出现让我们可以更方便的实现这一需求.虽然这里所说的技术都貌似有点过时了(前端界的“过时”,你懂的),但还是有些许参考价值.在这里我只说一下要点,具体实现同学们慢慢研究. 下面奉上我自己写的一个demo,在输入框中选好

Myeclipse中文件已经上传到服务器目录下,文件也没有被占用,但是页面中无法读取和使用问题的解决方法

这个问题是由于Myeclipse中文件不同步引起的.在Myeclipse中,工程文件是由Myeclipse自动扫描添加的,如果在外部修改了工程目录中的文件但又关闭了自动刷新功能,则会引起文件不同步.此外,在外部没有修改Myeclipse工程中的文件也有可能引起该问题. 解决方法: 有两种解决方法: 1)手动刷新.即在Myeclipse的工程目录中,右键refresh(或者按下F5). 2)配置Myeclipse的选项: a)Myeclipse启动时,刷新workspace,即勾选:window-