通过Http上传文件
最近做的项目中需要将拍摄的照片与视频上传至服务器,再加上也有一些朋友在问相关的问题,作为在CSDN的第一篇博客,处女作就留给程序中必不可少的http吧
因为iOS不能通过html表单来进行post上传,所以iOS想要完成上传功能就要自己实现http请求
http post请求的格式是这样的
Content-type:multipart/formdata, boundary=boundary
--boundary
Content-disposition: form-data; name="name"
mike
--boundary
Content-disposition: form-data; name: "pic", filename: "myPic.jpg"
Content-type: image/jpg
<myPic.jpg>
--boundary--
这就是我们上传时需要配置的http
boundary
规定的是什么,后面就要一样。boundary
是分割各个参数的分隔符。 注意:boundary
结尾时,是--boundary--
,代表请求体结束。multipart/formdata
上传的请求头必须包含一个特殊的信息:Content-type
其值也必须是multipart/formdata
如果是一个文件则需要文件信息filename:"myPic.jpg"
与文件内容类型Content-type:image/jpg
,<myPic.jpg>
则是我们想要上传的图片或者文件。
一定要严格按照规则,否则不会成功
下面是iOS实现代码:
NSDictionary *param = @{@"name":@"mike"};
NSString *TWITTERFON_FORM_BOUNDARY = @