由于工作需要,我需要在某一個(gè)功能塊里面實(shí)現(xiàn)進(jìn)行圖片上傳。并且是用form表單上傳。有人說圖片上傳這種東西網(wǎng)上到處都是,哪里會(huì)需要你來寫一篇。話是這么說,但是我因?yàn)橛龅娇恿?,所以希望再次告訴大家,避過這個(gè)坑。
雖然form表單上傳圖片的大體流程都一樣,但是唯獨(dú)在填寫form表單的時(shí)候好多人寫的方法是通過拿到圖片數(shù)據(jù)的url來進(jìn)行上傳,但是本人親測(cè)此種方法如果進(jìn)行連續(xù)多次進(jìn)行上傳的話會(huì)出現(xiàn)獲取不到文件路徑的錯(cuò)誤。
具體什么是form表單這個(gè)定義的規(guī)則的話比較復(fù)雜,有興趣的可以自己研究一下,在這里沒有必要贅述。一般進(jìn)行from表單方式上傳圖片的話使用AFNetworking,大大的簡(jiǎn)化form表單的填寫流程。
首先,來看一下我們關(guān)于圖片上傳的接口文檔:

接口文檔
上傳流程:
我先介紹一下思路,具體的大家可以看代碼部分。
1、從相冊(cè)或者相機(jī)中拿到圖片以后,
2、將圖片先進(jìn)行根據(jù)指定大小進(jìn)行剪裁,
3、將剪裁后的圖片轉(zhuǎn)換為Data數(shù)據(jù)
4、調(diào)用AFNetworking,填寫formData數(shù)據(jù)

代碼部分1

代碼部分2
代碼中關(guān)于圖片上傳部分的代碼:

上傳部分代碼
關(guān)于from表單的問題:

from表單的注意
由于時(shí)間匆忙,不足之處還請(qǐng)指出。寫作水平不高,還請(qǐng)讀者見諒。