iOS表單上傳附件及引數到伺服器

2021-07-25 19:53:21 字數 2736 閱讀 3406

post有兩種上傳方式,這裡只列舉上傳附件的方式(這種請求方式支援檔案或檔案&普通引數或普通引數)即:

content-type = multipart/form-data;

該種型別有固定的引數拼接格式

普通引數

--boundry\r\n

content-disposition: form-data; name=\"%@\"\r\n

\r\n

value

\r\n

檔案引數

--boundry\r\n

content-disposition:form-data; name=\"%@

\"; filename=\"%@\"\r\ncontent-type:%@\r\n

\r\n

data

\r\n

引數結尾

--boundry

--\r\n 其中

name 即為表單請求字段(服務端要的引數字段),filename為儲存在服務端的檔案名字,content-type為檔案型別(image/png 或者

video/mpeg4等等),具體可以檢視content-type參照表

這裡著重說下即使服務端要引數是int型別,這裡也必須普通引數也必須是字串物件

#define test_form_boundary @

"test1234"

#define bmencode(str) [str datausingencoding:nsutf8stringencoding] -(

void

)sendpost:(

nsstring

*)urlstr paramater:(

nsdictionary

*)para data:(

nsdata

*)data name:(

nsstring

*)filename andcontenttype:(

nsstring

*)cotentype ];

/* 普通引數*/

/* 檔案引數*/

if(data&&data.

length

>0)

/* 檔案引數*/

//尾部的分隔符

//設定上傳資料的長度及格式

建立會話

nsurlsession

*session = [

nsurlsession

sharedsession];

nsurlsessionuploadtask

*updatatask = [session

uploadtaskwithrequest

:request

fromdata

:datam

completionhandler

:^(nsdata

*_nullable

data,

nsurlresponse

*_nullable

response,

nserror

* _nullable

error)

else

}];[updatatask

resume];

}

目前問題 plupload上傳帶引數到後台

目前問題 plupload上傳帶引數到後台,遲遲沒有解決!昨晚到23點多終於完成了!直接上 var uploader new plupload.uploader uploader.init 初始化 繫結檔案新增進佇列事件 uploader.bind filesadded function uploa...

iOS面試題文案及答案附件

類別中原則上只能增加方法 能新增屬性的的原因只是通過runtime能新增屬性的的原因只是通過runtime的objc setassociatedobject和objc getassociatedobject方法解決無setter getter的問題而已 類擴充套件不僅可以增加方法,還可以增加例項變數...

自定義表單中多附件上傳控制項的實現方案

多附件上傳的功能,在我們開發系統的時候經常會需要,客戶的需求也很複雜,如果每次的附件上傳都從最基本的html元素 type file來做的話,還是比較費時費工。如果我們把附件上傳的功能封裝成乙個控制項,在需要上傳的頁面中直接拉下來控制項,通過設定屬性就能完成多附件上傳,這樣是最方便和快捷的。封裝多附...