iOS使用AFN進(jìn)行單圖和多圖上傳的實(shí)例代碼
圖片上傳時(shí)必要將圖片進(jìn)行壓縮,不然會(huì)上傳失敗
1.單張圖上傳
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; [manager POST:urlString parameters:params constructingBodyWithBlock:^(id_Nonnull formData) {
//使用日期生成圖片名稱
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss";
NSString *fileName = [NSString stringWithFormat:@"%@.png",[formatter stringFromDate:[NSDate date]]];
[formData appendPartWithFileData:imageData name:@"uploadFile" fileName:fileName mimeType:@"image/png"];
} success:^(AFHTTPRequestOperation * _Nonnull operation, id _Nonnull responseObject) {
//上傳圖片成功執(zhí)行回調(diào)
completion(responseObject,nil);
} failure:^(AFHTTPRequestOperation * _Nonnull operation, NSError * _Nonnull error) {
//上傳圖片失敗執(zhí)行回調(diào)
completion(nil,error);
}];
2.多圖上傳
多圖上傳和單圖上傳區(qū)別在于文件名稱
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; [manager POST:urlString parameters:params constructingBodyWithBlock:^(id_Nonnull formData) {
NSInteger imgCount = 0;
for (NSData *imageData in imageDatas) {
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.dateFormat = @"yyyy-MM-dd HH:mm:ss:SSS";
NSString *fileName = [NSString stringWithFormat:@"%@%@.png",[formatter stringFromDate:[NSDate date]],@(imgCount)];
[formData appendPartWithFileData:imageData name:[NSString stringWithFormat:@"uploadFile%@",@(imgCount)] fileName:fileName mimeType:@"image/png"];
imgCount++;
}
} success:^(AFHTTPRequestOperation * _Nonnull operation, id _Nonnull responseObject) {
completion(responseObject,nil);
} failure:^(AFHTTPRequestOperation * _Nonnull operation, NSError * _Nonnull error) {
completion(nil,error);
}];
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
iOS指紋驗(yàn)證TouchID應(yīng)用學(xué)習(xí)教程
這篇文章主要為大家詳細(xì)iOS指紋驗(yàn)證TouchID應(yīng)用學(xué)習(xí)教程的第一篇,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-01-01
Unity3D實(shí)驗(yàn)室之iOS真機(jī)閃退的解決方法
下面小編就為大家分享一篇Unity3D實(shí)驗(yàn)室之iOS真機(jī)閃退的解決方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-02-02
iOS使用UICollectionView實(shí)現(xiàn)拖拽移動(dòng)單元格
這篇文章主要為大家詳細(xì)介紹了iOS開發(fā)UICollectionView拖拽移動(dòng)單元格,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04
IOS開發(fā)之多線程N(yùn)SThiread GCD NSOperation Runloop
這篇文章主要介紹了IOS多線程開發(fā),主要用到NSThiread、GCD、 NSOperation、Runloop,有詳細(xì)的原理解析和實(shí)例代碼,對多線程感興趣的同學(xué),可以參考下2021-04-04
IOS 開發(fā)之應(yīng)用喚起實(shí)現(xiàn)原理詳解
這篇文章主要介紹了IOS 開發(fā)之應(yīng)用喚起實(shí)現(xiàn)原理詳解的相關(guān)資料,需要的朋友可以參考下2016-12-12
iOS基于 UILabel實(shí)現(xiàn)文字添加描邊功能
這篇文章主要介紹了iOS基于 UILabel實(shí)現(xiàn)文字添加描邊功能,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-10-10
UILabel顯示定時(shí)器文本跳動(dòng)問題的解決方法
這篇文章主要給大家介紹了關(guān)于UILabel顯示定時(shí)器文本跳動(dòng)問題的解決方法,文中通過示例代碼介紹的非常詳細(xì),對各位iOS開發(fā)者們具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07

