1. 程式人生 > >iOS上傳圖片到伺服器

iOS上傳圖片到伺服器

下面是我封裝的方法

標頭檔案
#import "AFHTTPSessionManager.h"

1.上傳一張照片

//上傳頭像

-(void)sendPersonIcon:(NSData *)imgData Authorization:(NSString*)authorization{

    NSDictionary *dict=@{@"authorization":authorization};//authorization授權碼

//    [self post:User_Avatar_Photo params:dict];

    NSLog(@"%@",authorization);

AFHTTPSessionManager *manager=[

AFHTTPSessionManagermanager];

    manager.responseSerializer.acceptableContentTypes = [NSSetsetWithObjects:@"application/json",

                                                         @"text/html",

                                                         @"image/jpeg",

                                                         @"image/png"

,

                                                         @"application/octet-stream",

                                                         @"text/json",

                                                         @"multipart/form-data",

                                                         @"text/plain"

,

                                                         @"text/javascript",

                                                         nil];

    manager.requestSerializer = [AFHTTPRequestSerializerserializer];

    manager.responseSerializer = [AFHTTPResponseSerializerserializer];

    [manager.requestSerializersetValue:[NSStringstringWithFormat:@"Bearer %@",authorization] forHTTPHeaderField:@"Authorization"]; //很重要

//地址填真實介面(例如:@"http://223.223.200.50:8081/v1/user/photo")

    [manager POST:@"http://223.223.200.50:8081/v1/user/photo"parameters:dict constructingBodyWithBlock:^(id<AFMultipartFormData_Nonnull formData) {

NSDateFormatter *formatter = [[NSDateFormatteralloc] init];

        formatter.dateFormat = @"yyyyMMddHHmmss";

        NSString *str = [formatter stringFromDate:[NSDate date]];

        NSString *fileName = [NSString stringWithFormat:@"%@.png", str];

        [formData appendPartWithFileData:imgData name:@"photo"fileName:fileName mimeType:@"image/png"];

    } progress:^(NSProgress * _Nonnull uploadProgress) {

        //列印上傳進度

        CGFloat progress = 100.0 * uploadProgress.completedUnitCount / uploadProgress.totalUnitCount;

        NSLog(@"列印:圖片上傳中....%f",progress);

    } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {

self.callBackBlock(YES,nil);//回撥

    } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {

         self.callBackBlock(NO,error);//回撥

    }];

}

使用方法:

//壓縮圖片
NSData *ImgData = UIImageJPEGRepresentation(image, 0.3);
//呼叫上傳方法
[self sendPersonIcon:ImgData Authorization:token];

2.上傳多張照片

-(void)sendForeign:(NSString *)name idCardNum:(NSString *)ID  photo:(NSArray*)photos Authorization:(NSString*)authorization{

NSDictionary *dict=@{@"name":name,@"idCardNum":ID,@"status":@"1",@"authorization":authorization};

AFHTTPSessionManager *manager=[AFHTTPSessionManagermanager];

    manager.responseSerializer.acceptableContentTypes = [NSSetsetWithObjects:@"application/json",

                                                         @"text/html",

                                                         @"image/jpeg",

                                                         @"image/png",

                                                         @"application/octet-stream",

                                                         @"text/json",

                                                         @"multipart/form-data",

                                                         @"text/plain",

                                                         @"text/javascript",

                                                         nil];

    manager.requestSerializer = [AFHTTPRequestSerializerserializer];

    manager.responseSerializer = [AFHTTPResponseSerializerserializer];

    [manager.requestSerializer setValue:[NSString stringWithFormat:@"Bearer %@",authorization] forHTTPHeaderField:@"Authorization"];

//很重要

//要填寫真實介面地址

[manager POST:@"http://223.223.200.50:8081/{version}/user/verifyID"parameters:dict constructingBodyWithBlock:^(id<AFMultipartFormData_Nonnull formData) {

        for (int i = 0; i < photos.count; i ++) {

            NSDateFormatter *formatter = [[NSDateFormatter alloc] init];

            formatter.dateFormat = @"yyyyMMddHHmmss";

            NSString *str = [formatter stringFromDate:[NSDate date]];

            NSString *fileName = [NSString stringWithFormat:@"%@.png", str];

            UIImage *image = photos[i];

            NSData *imageData = UIImageJPEGRepresentation(image, 0.28);

            [formData appendPartWithFileData:imageData name:@"photo" fileName:fileName mimeType:@"image/png"];

        }

    } progress:^(NSProgress * _Nonnull uploadProgress) {

        //列印上傳進度

        CGFloat progress = 100.0 * uploadProgress.completedUnitCount / uploadProgress.totalUnitCount;

        NSLog(@"列印:圖片上傳中....%f",progress);

    } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {

self.callBackBlock(YES,nil);//回撥

    } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {

        self.callBackBlock(NO,error);//回撥

    }];

}

使用方法:

 NSArray *[email protected][img1,img2];
 [self sendForeign:self.nameTextField.text idCardNum:self.codeTextField.text photo:photos Authorization:token];

相關推薦

iOS圖片伺服器

下面是我封裝的方法標頭檔案 #import "AFHTTPSessionManager.h"1.上傳一張照片//上傳頭像-(void)sendPersonIcon:(NSData *)imgData Authorization:(NSString*)authorization

vue iOS圖片file 出錯

前言 用vue 移動端上傳圖片在低版本的 ios 手機上 圖片轉換base64 在轉換file 檔案型別 會報錯 並且報錯 “Script Error ” 查閱了github 和一些文件發現 可以吧 file 改為 Blob 的  格式上傳,哈哈 上的程式碼 changeBa

vue iOS圖片file 出錯

.com ret eat str hang inf ror urn github 前言 用vue 移動端上傳圖片在低版本的 ios 手機上 圖片轉換base64 在轉換file 文件類型 會報錯 並且報錯 “Script Error ” 查閱了github 和一些文檔發現

淘淘商城第二天—完成商品新增功能 商品類目選擇 圖片 圖片伺服器搭建 kindEditor富文字編輯器的使用 商品新增功能

1、實現商品類目選擇功能 1.1需求 在商品新增頁面,點選“選擇類目”顯示商品類目列表: 請求初始化樹形控制元件的url:/item/cat/list 1.2 EasyUI tree資料結構 資料結構中必須包含: Id:節點id Text:節

day70_淘淘商城專案_03_商品類目選擇 + 圖片 + 圖片伺服器FastDFS + 富文字編輯器KindEditor + 新增商品_匠心筆記

淘淘商城專案_03 1、商品類目選擇 1.1、功能分析 1.1.1、資料庫表結構設計 1.1.2、前端頁面分析 1.2、服務層工程開發 1.2.1、Dao

ios圖片到appstore時的尺寸大小

引導頁: 640 * 960 640 *1136 750 *1334 1080 *1920 啟動頁: 640 * 960 640 *1136 750 *1334 768 *1024 1242 *2208 1536 *2048 上傳appSto

JavaWeb 通過ios圖片旋轉問題

今天遇到個問題,通過iphone上傳圖片到伺服器,後臺人員拿到的圖片是橫著的. 先說下原因,在網上查過很多資料,最終確定的原定是 用相機拍攝出來的照片含有EXIF資訊,UIImage的imageOrientation屬性指的就是EXI

iOS圖片的方法

下面是圖片上傳的方法:-(void)loadImage:(NSString*)aurl{        NSData              *imageData;        NSMutableData       *postBody;        NSString

iOS 圖片方法總結

開題: iOS 開發中難免會遇到上傳圖片,一般情況下有兩種方式: 自己動手寫(利用NSURLMutableRequest等系統類)使用第三方(如AFNetworking)據我所經歷的,如果你不是大神,還是用第三方吧,自己寫的話會很麻煩,需要拼接一些請求頭,請求體等,就算弄好了也是廢了很多時間了;當然,費時間

iOS中(相簿)攝像頭獲取的圖片伺服器被自動旋轉了

今天寫專案的時候發現, 通過相機(相簿)獲取到的圖片顯示是正的,但是上傳至伺服器後下次從伺服器讀取就被莫名其妙的旋轉了,開始時候以為是伺服器的原因,最後原來是我的原因:如果把通過相機獲取到的圖片,直接進行操作, 比如裁剪, 縮放, 則會把原圖片向右旋轉90度。 上網查後

接收IOS圖片

sys 控制器 base 移動端 參數 array request clas div 感謝我的ABP群的大佬。提供的寶貴提醒。 這雞掰煩了我幾周了。 起因,我的前端先DTO接收方式的參數要的太多(直接索要HttpPostedFileBase類型數據),要我精簡。ABP的AP

iOS Post圖片, 文件流的形式

ssi 標準 請求 圖片服務器 dict html mimetype object 屬性 最近看到群裏很多小夥伴有問上傳圖片服務器收不到, 解析不了. 可以說就一個屬性 ContentType , 不論你使用第三方的AFN, 還是自己封裝NSURLSesstion. 都

iosappStore所需各種圖片尺寸

圖片尺寸 上傳 引導頁 nbsp span app pstore 啟動 分辨率 引導頁: 640 * 960 640 *1136 750 *1334 1080 *1920 啟動頁: 640 * 960 640 *1136 750 *1334 768 *1024 124

iOS 批量圖片的 3 種方法

except 現在 文章 rap 鏈式調用 bsp 不知道 working truct AFNetworking 在去年年底升級到了 3.0。這個版本更新想必有很多好處,然而讓我吃驚的是,它並沒有 batch request 接口。之前的 1.x 版本、2.x 版本都實現

圖片到第三方伺服器

程式碼 /// <summary> /// 上傳圖片到第三方伺服器 /// </summary> /// <param name="filePath"></param> /// <param name="picNo"

蘋果手機(ios)拍照圖片旋轉90度問題---java後臺處理

需要先匯入包 metadata-extractor-2.3.1.jar 地址 https://github.com/drewnoakes/metadata-extractor/releases?after=2.7.0 xmpcore-5.1.2.jar 依賴包 maven下載 med

CKEditor 4.10.1 圖片提示“不正確的伺服器響應” 問題解決

最近專案採用CKEditor 4 富文字編輯器,上傳圖片時提示"不正確的伺服器響應" , 檢視官方文件要求返回json格式,官方示例: Response: File Uploaded Successfully  上傳成功返回: {     "uploaded

在vue專案中實現註冊時改變頭像,同時實現將圖片伺服器

 一.如何實現在註冊時點選頭像時實現更改圖片的操作      1.將img和input[type="file"]放在同一個div中,利用絕對定位,讓兩者擁有相同的大小,將input的預設樣式變為透明,讓img覆蓋的input之上;img中有一個屬性,acc

winform端圖片至flask伺服器

winform端程式碼: public static string PostImageData(string url, IDictionary<string, string> parameters, int timeout, string userAgent, CookieColle

vue-quill-editor-upload : 實現vue-quill-editor圖片伺服器

vue-quill-editor-upload git: https://github.com/NextBoy/vu... A plug-in for uploading images to your server when you use vue-quill-editor. 富文字編輯器vue-qui