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];
}
-(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];
}
相关文章推荐
- IOS LocationManager定位国内偏移,火星坐标(GCJ-02)解决方法
- iOS开发-完整学习路线图
- iOS-读写plist文件
- iOS新特性
- iOS开发-工厂模式
- iOS笔记链接
- iOS 键盘类型
- IOS 真机调试
- iOS开发使用半透明模糊效果方法整理
- iOS开发Xcode7免费真机调试教程
- iOS 蓝牙开发之传输图片
- iOS 文件下载
- IOS开发懒加载
- IOS9 最新的分享(QQ、WeiXin、WeiBo)代码书写不超过10行
- 适合IOS新手的的倒计时显示时间格式的实用方法
- iOS开发之imageView居中显示图片
- iOS使用#ffffff颜色
- iOS 在tableView上添加button导致按钮没有点击效果和不能滑动的 zhuang
- iOS事件拦截(实现触摸任意位置隐藏指定view)
- Xcode使用第三方库-Cocoapods