最近做項(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中
(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