您的位置:首页 > 移动开发 > IOS开发

iOS上传图片的方法

2016-01-06 15:03 357 查看
下面是图片上传的方法:

-(void)loadImage:(NSString*)aurl

{

NSData *imageData;

NSMutableData *postBody;

NSString *stringBoundary, *contentType;

NSURL *url = [NSURL URLWithString:aurl]; //将字符串转换为NSURL格式

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

NSString *documentsDirectory = [paths objectAtIndex:0];

NSString *path = [documentsDirectory stringByAppendingPathComponent:@"1.jpg"];

imageData = [[NSData alloc] initWithContentsOfFile:path];

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

stringBoundary = [NSString stringWithString:@"0xKhTmLbOuNdArY"];

contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@", stringBoundary];

[aRequest addRequestHeader:@"Content-Type" value:contentType];

postBody = [[NSMutableData alloc] init];

[postBody appendData:[[NSString stringWithFormat:@"\r\n\r\n--%@\r\n", stringBoundary] dataUsingEncoding:NSUTF8StringEncoding]];

[postBody appendData:[[NSString stringWithString:@"Content-Disposition: form-data; name=\"title\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];

[postBody appendData:[[NSString stringWithString:@"lighttable"] dataUsingEncoding:NSUTF8StringEncoding]]; // So Light Table show
up as source in Twitter post

NSString *imageFileName = [NSString stringWithFormat:@"photo.jpeg"];

[postBody appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n", stringBoundary] dataUsingEncoding:NSUTF8StringEncoding]];

[postBody appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=\"upload\"; filename=\"%@\"\r\n",imageFileName]
dataUsingEncoding:NSUTF8StringEncoding]];

[postBody appendData:[@"Content-Type: image/jpeg\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]];

[postBody appendData:imageData];

[postBody appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n", stringBoundary] dataUsingEncoding:NSUTF8StringEncoding]];

[postBody appendData:[[NSString stringWithString:@"Content-Disposition: form-data; name=\"password\"\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];

[postBody appendData:[[NSString stringWithString:@"lighttablexxxxxxxx"] dataUsingEncoding:NSUTF8StringEncoding]];

[postBody appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n", stringBoundary] dataUsingEncoding:NSUTF8StringEncoding]];

[aRequest setDelegate:self];

[aRequest appendPostData:postBody];

[aRequest setRequestMethod:@"POST"];

[aRequest startAsynchronous];

[postBody release];

[aRequest release];

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: