1. 程式人生 > >ios第三種post請求上傳三張圖片到伺服器

ios第三種post請求上傳三張圖片到伺服器

//1.建立管理者物件

AFHTTPSessionManager *manager = [AFHTTPSessionManagermanager];

    manager.responseSerializer = [AFJSONResponseSerializerserializer];

    manager.requestSerializer = [AFJSONRequestSerializerserializer];

    manager.responseSerializer.acceptableContentTypes = [NSSetsetWithObjects:@"multipart/form-data"

,@"text/plain", nil];//如果報接受型別不一致請替換一致text/html或別的

NSUserDefaults *userDefaults = [NSUserDefaultsstandardUserDefaults];

    NSString *mytoken=[userDefaults stringForKey:@"mytoken"];

NSMutableDictionary *parameters = [[NSMutableDictionaryalloc] init];

    [parameters setValue:mytoken forKey:@"token"];

    [parameters setValue

:@"51" forKey:@"id"];

    [parameters setValue:imagedata forKey:@"file"];

    NSLog(@"字典的值:%@", parameters);

//[portUrl stringByAppendingString:@"/rest/imgUpload/upload"]

//@"0.tcp.ngrok.io:12436"

//NSString *[email protected]"0.tcp.ngrok.io:12436";

    [manager POST:[portUrl stringByAppendingString:@"/rest/imgUpload/upload"

] parameters:parameters constructingBodyWithBlock:^(id<AFMultipartFormData_Nonnull formData) {

        //上傳檔案引數

        NSLog(@"我需要的相片data:%@", imagedata);

NSDateFormatter *formatter = [[NSDateFormatteralloc] init];

        formatter.dateFormat = @"yyyyMMddHHmmss";

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

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

        NSLog(@"我需要的fileName:%@", fileName);

        [formData appendPartWithFileData:imagedata name:@"file" fileName:fileName mimeType:@"image/png"];

    } progress:^(NSProgress * _Nonnull uploadProgress) {

        //列印上傳進度

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

        NSLog(@"%.2lf%%", progress);

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

dispatch_async(dispatch_get_main_queue(), ^{

            [tableFooterActivityIndicator stopAnimating];//菊花停止

            [tableFooterActivityIndicator setHidesWhenStopped:YES]; //當旋轉結束時隱藏菊花

self.view.userInteractionEnabled=YES;

            [darkview removeFromSuperview];

        });

        //請求成功

        NSLog(@"請求成功:%@",responseObject);

        NSLog(@"返回的說明desc:%@", [responseObject objectForKey:@"desc"]);

        NSString *theimagepath=[NSString stringWithFormat:@"%@", [responseObject objectForKey:@"desc"]];

        if (self.sheet.tag==2550) {

            self.imagefullpath1=[NSString stringWithFormat:@"%@", theimagepath];

            self.nameLabel2.text=@"上傳成功";

            NSLog(@"第一張圖片上傳成功");

        } else if (self.sheet.tag==2551) {

            self.imagefullpath2=[NSString stringWithFormat:@"%@", theimagepath];

            self.sexLabel2.text=@"上傳成功";

            NSLog(@"第二張圖片上傳成功");

        } else if (self.sheet.tag==2552) {

            self.imagefullpath3=[NSString stringWithFormat:@"%@", theimagepath];

            self.phoneLabel2.text=@"上傳成功";

            NSLog(@"第三張圖片上傳成功");

        }

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

        //請求失敗

        NSLog(@"請求失敗:%@",error);

dispatch_async(dispatch_get_main_queue(), ^{

            [tableFooterActivityIndicator stopAnimating];//菊花停止

            [tableFooterActivityIndicator setHidesWhenStopped:YES]; //當旋轉結束時隱藏菊花

self.view.userInteractionEnabled=YES;

        });

        if (self.sheet.tag==2550) {

            self.nameLabel2.text=@"上傳失敗";

            NSLog(@"第一張圖片上傳失敗");

        } else if (self.sheet.tag==2551) {

            self.sexLabel2.text=@"上傳失敗";

            NSLog(@"第二張圖片上傳失敗");

        } else if (self.sheet.tag==2552) {

            self.phoneLabel2.text=@"上傳失敗";

            NSLog(@"第三張圖片上傳失敗");

        }

    }];

}

相關推薦

iospost請求圖片伺服器

//1.建立管理者物件AFHTTPSessionManager *manager = [AFHTTPSessionManagermanager];    manager.responseSerializer = [AFJSONResponseSerializerseriali

Post同時圖片和資料例項

1.通過http協議,post同時上傳多張圖片和資料到伺服器上。 2.IOS開發中前端採用xcode 7.1 swift語言。 3.伺服器端採用asp.net,asp實現。 一、下面先看看前端程式碼。 1.先把需要上傳的圖片存在img陣列中。 2.im

xUtils怎麽post請求json數據

測試 ces span 上傳 con utf-8 test exceptio cep InfoSmallCodeBinding smallCode = new InfoSmallCodeBinding(); smallCode.setSma

Postman Post請求檔案

Postman Post請求上傳檔案 一、選擇post請求方式,輸入請求地址 二、填寫Headers Key:Content-Type Value:multipart/form-data [{"key":"Content-Type","value":"multipart/form-da

springboot配置檔案下載大小的配置

配置檔案為application.yml格式: spring: http: multipart: enabled: true max-file-size: 30MB max-request-size: 30MB第二種: package com.haiyiso

使用formidable獲取post請求的檔案注意點

總結使用formidable曾經踩過的坑 遇到的問題都是因為使用post上傳檔案讀取不到的files 目前主要遇到的是以下兩種情況 沒有在表單<form></form>上新增enctype="multipart/form-data" 在有type

java 後臺通過post請求 檔案

文章轉載:https://blog.csdn.net/wohaqiyi/article/details/77621517   import microservice.fpzj.control.base.BaseController; import org.springframewo

關於post請求檔案和其它資料

1,背景: 在網上搜索這個問題得到的答案只有上傳檔案的單一上傳方式,並沒有說如果還需要其它請求引數的時候該如何處理。 2,解決方案: 通過append來加入其它請求引數,在上傳的時候還是用data:fromlsdata來上傳 3,相關程式碼: handleUp

python傳送post請求檔案,無法解析的檔案

前言 近日,在做介面測試時遇到一個奇葩的問題。 使用post請求直接通過介面上傳檔案,無法識別檔案。 遇到的問題 以下是抓包得到的資訊: 以上請求是通過Postman直接傳送請求的。 在這裡可以看到訊息頭裡包含:Access-Token和Content-Type 因此在在使用python直接

通過POST請求檔案

轉自:https://blog.csdn.net/zhangge3663/article/details/81218488 理論 簡單的HTTP POST 大家通過HTTP向伺服器傳送POST請求提交資料,都是通過form表達提交的,程式碼如下:

使用HttpURLConnection的put或者post請求檔案

HttpURLConnection為java本身提供的傳送http請求的工具,今天遇到需要用put請求上傳檔案的需求,記錄下: 首先分析下put請求的格式,使用postman的put請求傳送一個檔案,由於現在有springboot,實現一個接受put請求傳送檔

post請求檔案和文字時http格式

服務端通常是根據請求頭(headers)中的 Content-Type 欄位來獲知請求中的訊息主體是用何種方式*編碼*,再對主體進行解析。所以說到 POST 提交資料方案,包含了 Content-Type 和訊息主體編碼方式兩部分。 application

.net模擬http post請求檔案

http://blog.csdn.net/dreamparks/article/details/43149845 public void SendByApi(string url, Stream postedStream, string fileName, string

使用HttpURlConnection 傳送POST請求檔案(帶引數)

前言 最近在做一個部落格的小專案,需要用到檔案上傳,HttpClient又被Android給棄用了,圖片框架暫時還沒學。只能使用HttpURLConnection來上傳。折騰了好久,今天終於順利地跟後臺完成了對接。因此,寫這篇部落格梳理一下知識。 理論知

Java利用HttpURLConnection傳送post請求檔案

在頁面裡實現上傳檔案不是什麼難事,寫個form,加上enctype = "multipart/form-data",在寫個接收的就可以了,沒什麼難的,如果要用java.net.HttpURLConnection來實現檔案上傳,還真有點搞頭.:-)   1.先寫個servle

HttpURLConnection Post請求檔案和引數到servlet

public String uplaod(String actionUrl, Map<String, String> params) {         InputStream in = null;         String BOUNDARY = java.util.UUID.randomUU

使用Python傳送http post請求檔案

可以使用第三方模組poster,使用easy_install 安裝方法如下 easy_instll poster 會自動安裝poster模組,安裝成功後,可以看到在poster egg檔案在site package下 這裡注意,根據官方說法:Because this dis

利用WebClient 模擬Form Post請求檔案

一.準備工作 1.開啟開發工具F12,檢視NetWork,首先先觀察目標網站上的請求頭 我們需要在程式碼中新增這些請求頭內容,比較重要的是Content-Type,User-Agent,當然可以全部新

使用AFN ,通過post請求圖片,帶請求

//要上傳的圖片 UIImage *image = [UIImage imageNamed:@"image"]; //傳送圖片請求 ,0.5是上傳圖片的質量 NSData *data = UIImageJPEGRepresentation(image,0.5); //

十一、小程序圖片帶參數

默認 inf led export EDA sed 預覽圖 態度 alt WXML <view class=‘right‘> <view class="parcel" wx:for="{{pics}}" wx:key="{{index}}