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