ios23-文件上传

1.上传图片





3.

//

//  ios23_uploadViewController.h

//  ios23-upload

//

//  Created by  on 13-6-17.

//  Copyright 2013 __MyCompanyName__. All rights reserved.

//


#import <UIKit/UIKit.h>

#import "ASIHTTPRequest.h"


@interface ios23_uploadViewController : UIViewController<ASIHTTPRequestDelegate>

-(IBAction)upload;


@end


-------------------------------------------------

//

//  ios23_uploadViewController.m

//  ios23-upload

//

//  Created by  on 13-6-17.

//  Copyright 2013 __MyCompanyName__. All rights reserved.

//


#import "ios23_uploadViewController.h"

#import "ASIHTTPRequest.h"

#import "ASIFormDataRequest.h"


@implementation ios23_uploadViewController


- (void)didReceiveMemoryWarning

{

    [superdidReceiveMemoryWarning];

    // Release any cached data, images, etc that aren't in use.

}


#pragma mark - View lifecycle

-(void)upload{

    //定义请求的URL地址:

    NSString *uploadURL = @"http://172.22.65.2/2012/upload.php";

    UIImage *im = [UIImage imageNamed:@"csdn"];//通过path图片路径获取图片

    NSData *data = UIImagePNGRepresentation(im);//获取图片数据

    /*

     ios中获取图片的方法有两种,一种是UIImageJPEGRepresentation ,一种是UIImagePNGRepresentation前者获取到图片的数据量要比后者的小很多。。

     */

    NSURL *url = [NSURL URLWithString:uploadURL];

    

    ASIFormDataRequest *aRequest = [[ASIFormDataRequestalloc] initWithURL:url];

    [aRequest setDelegate:self];//代理

    [aRequest setRequestMethod:@"POST"];

    [aRequest addData:data withFileName:@"test.png"andContentType:@"image/png"forKey:@"file"];

    //forKey:@"file"   

    [aRequest addRequestHeader:@"Content-Type"value:@"binary/octet-stream"];//这里的value需与服务器端一致

    

    [aRequest startAsynchronous];//开始。异步

    [aRequest setDidFinishSelector:@selector(headPortraitSuccess)];//当成功后会自动触发 headPortraitSuccess 方法

    [aRequest setDidFailSelector:@selector(headPortraitFail)];//如果失败会自动触发 headPortraitFail 方法

  //  [aRequest release];

    


}

-(void)headPortraitSuccess{

    

    NSLog(@"上传成功!");

    

}


-(void)headPortraitFail{

    

    

    NSLog(@"上传失败!");

    

}


//开始request请求

- (void)requestStarted:(ASIHTTPRequest *)request{

    

    

    NSLog(@"开始请求!");

    

}


- (void)viewDidLoad

{

    [superviewDidLoad];

// Do any additional setup after loading the view, typically from a nib.

}


- (void)viewDidUnload

{

    [superviewDidUnload];

    // Release any retained subviews of the main view.

    // e.g. self.myOutlet = nil;

}


- (void)viewWillAppear:(BOOL)animated

{

    [super viewWillAppear:animated];

}


- (void)viewDidAppear:(BOOL)animated

{

    [super viewDidAppear:animated];

}


- (void)viewWillDisappear:(BOOL)animated

{

[superviewWillDisappear:animated];

}


- (void)viewDidDisappear:(BOOL)animated

{

[superviewDidDisappear:animated];

}


- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation

{

    // Return YES for supported orientations

    return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);

}


@end



原文地址:https://www.cnblogs.com/snake-hand/p/3141035.html