Skip to content

Instantly share code, notes, and snippets.

@oxUnd
Created September 22, 2015 07:08
Show Gist options
  • Save oxUnd/34cb19f177a7a998b5f6 to your computer and use it in GitHub Desktop.
Save oxUnd/34cb19f177a7a998b5f6 to your computer and use it in GitHub Desktop.
POST file for Mac
NSMutableURLRequest *req = [NSMutableURLRequest requestWithURL:url];
[req setHTTPMethod:@"POST"]; // POST 请求
[req setValue: [NSString stringWithFormat:@"multipart/form-data; boundary=%@", boundry] forHTTPHeaderField:@"Content-Type"]; //boundry = 0xKhTmLbOuNdArY;可参考 HTTP 协议
[req setValue: @"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.93 Safari/537.36" forHTTPHeaderField: @"User-Agent"];
NSMutableData *postData = [NSMutableData dataWithCapacity:[data length] + 512];
[postData appendData: [[NSString stringWithFormat:@"--%@\r\n", boundry] dataUsingEncoding:NSUTF8StringEncoding]];
[postData appendData: [[NSString stringWithFormat: @"Content-Disposition: form-data; name=\"%@\"; filename=\"%@\"\r\n\r\n", FORM_FLE_INPUT, filename] dataUsingEncoding:NSUTF8StringEncoding]]; // FORM_FLE_INPUT 类似与 <input type="file" name="xxx"> 中的 name 属性值,用来在服务端获取上传的文件,比如 $_FILES['xxx']
[postData appendData:data];
[postData appendData: [[NSString stringWithFormat:@"\r\n--%@--\r\n", boundry] dataUsingEncoding:NSUTF8StringEncoding]];
[req setHTTPBody:postData];
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment