iOS里實(shí)現(xiàn)multipart/form-data格式上傳文件(多圖上傳,文件參數(shù),其他參數(shù))

最近做項(xiàng)目中有個(gè)后臺(tái)api上傳文件,之前也是使用AFNet的上傳文件方法,但是怎么上傳都不行。后來(lái)折騰半天,和后臺(tái)聯(lián)調(diào),是要使用multipart/form-data格式上傳文件。
然后找了下資料,發(fā)現(xiàn)很少,是要用系統(tǒng)自帶網(wǎng)絡(luò)請(qǐng)求才能實(shí)現(xiàn)multipart/form-data格式上傳,AFNet沒(méi)有這樣的api。
直接放結(jié)果吧。下載地址!! 如果覺(jué)得有用點(diǎn)歌贊~

當(dāng)你下載demo后,將url改成自己后臺(tái)提供的api。
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"%@%@",@"www.baidu",UrlString]];

這里是一些請(qǐng)求header需要用的(我們是需要把token userid放入,如果沒(méi)有的話 刪掉或者屏蔽)
NSString * fid = [[NSUserDefaults standardUserDefaults] objectForKey:@"userid"]; NSString * token = [[NSUserDefaults standardUserDefaults] objectForKey:@"token"]; [request setValue:token forHTTPHeaderField:@"token"]; [request setValue:fid forHTTPHeaderField:@"userId"];

contentTypeName (1)是后臺(tái)api中填寫(xiě)圖片文件的key。 例如 后臺(tái)api中

1555483216118.jpg

(id)parameters 是除了這個(gè)上述參數(shù)中其他的參數(shù),都是key value對(duì)應(yīng)的。 假如說(shuō)除了上述(1)中的參數(shù) 你還需要傳入 orderID
那么parameters 就傳入@{@"orderID",@"110"}.

其他的沒(méi)有什么了。 自己試下demo吧,有問(wèn)題的話可以留言。

參考文獻(xiàn):http://www.lxweimin.com/p/a0e3c77d3164
https://blog.csdn.net/sp_wei/article/details/80359842

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。