1. 程式人生 > >iOS上傳檔案或base64(圖片)之AFNetworking 3.0+上傳檔案上傳圖片

iOS上傳檔案或base64(圖片)之AFNetworking 3.0+上傳檔案上傳圖片

1. base64 上傳圖片

/**

 *  上傳圖片到伺服器

 *

 *  @param image

 *  @param photoID

 *  @param photoType

 */

- (void)uploadPhotoToSrver:(UIImage *) image withPhotoID:(NSString *)photoID andPhotoType:(PhotoType)type andImageText:(NSString *)text {

staticint upLoadCount = 0;

NSData *imageData = UIImageJPEGRepresentation

(scaledImg, 0.6); 

NSString *dataStr = [imageData base64EncodedStringWithOptions:0];

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManagermanager];

    manager.responseSerializer.acceptableContentTypes = [NSSetsetWithObject:@"text/xml"];

    manager.requestSerializer = [AFHTTPRequestSerializer

serializer];

    manager.responseSerializer = [AFHTTPResponseSerializerserializer];

//引數

NSDictionary *parameters = @{@"UserID" : userInfo.UserID,  @"imageDataStr": dataStr};

// url String

NSString *baseURL = [NSStringstringWithFormat: @"%@%@", WEBBASEURL, WEBUploadPhotoDataAction];

    [manager POST:baseURL

parameters:parameters success:^(AFHTTPRequestOperation *operation,id responseObject) {

        NSLog(@"上傳成功");

    }failure:^(AFHTTPRequestOperation *operation,NSError *error) {

MYNSLOG(@"~~~~~~~~%@",error);

    }];

}


2. file 檔案上傳圖片 (對應伺服器上的[file]型別)

#pragma mark 修改上傳微博頭像的介面

- (void)personalUploadHeadImgInterfaceWithImage:(UIImage *)uploadImage  {

// 引數

NSDictionary *parameterDict = @{@"userkey" : appDelegate.userKeyString};

//網路請求管理器

AFHTTPSessionManager *sessionManager = [AFHTTPSessionManagermanager];

    sessionManager.responseSerializer.acceptableContentTypes = [NSSetsetWithObject:@"text/plain"];

NSString *requestUrlStr = [NSStringstringWithFormat:@"%@%@"WEBBASEURL,  WEBInterFace_Personal_UploadHeadImg];

    [sessionManager POST:requestUrlStr parameters:parameterDict constructingBodyWithBlock:^(id<AFMultipartFormData>  _Nonnull formData) {

// 上傳檔案伺服器對應[file]

NSData *imageData = UIImageJPEGRepresentation(uploadImage, imageType == 1);

NSDateFormatter *formatter = [[NSDateFormatterallocinit];

        formatter.dateFormat = @"yyyyMMddHHmmss";

NSString *str = [formatter stringFromDate:[NSDatedate]];

NSString *fileName = [NSStringstringWithFormat:@"%@%@.jpg"appDelegate.userKeyString, str];

        [formData appendPartWithFileData:imageDataname:@"headImg"fileName:fileName mimeType:@"image/jpg"];       // 上傳圖片的引數key

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

MYLOG(@"success");

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

MYLOG(@"failure:%@", error);

    }];

}


相關推薦

iOS檔案base64圖片AFNetworking 3.0+檔案圖片

1. base64 上傳圖片 /**  *  上傳圖片到伺服器  *  *  @param image  *  @param photoID  *  @param photoType  */ - (

shell命令以及執行原理、檢視修改掩碼umask、Linux許可權管理、Linux設定檔案訪問許可權chmod、粘滯位、修改檔案的擁有者chown、修改檔案的所屬組chgrp

shell命令以及執行原理:   Linux嚴格意義上說的是一個作業系統,我們稱之為”核心”,但是我們普通使用者,不能直接使用核心,而是通過核心的”外殼”程式,也就是所謂的shell,來與核心溝通。   Linux中的命令大多數都是可執行程式。但其實捕捉我們

基於三角變換展開定理的n階行列式求值算法及性能評估

bubuko 評估 size min and locks ans end int 一、上三角變換、對角線求值    1 void 2 triangle_trans(double **square, int size, int pos) 3 { 4

20180813視頻筆記 深度學習基礎1必備基礎知識點 深度學習基礎2神經網絡模型視頻筆記:深度學習基礎3神經網絡案例實戰 和 深度學習基礎下篇

計算 概念 人臉識別 大量 png 技巧 表現 lex github 深度學習基礎上篇(3)神經網絡案例實戰 https://www.bilibili.com/video/av27935126/?p=1 第一課:開發環境的配置 Anaconda的安裝 庫的安裝 Windo

oracle學習筆記檢查Oracle的告警日誌檔案

作為一個 DBA,或者哪怕僅僅是和 Oracle 資料庫打交道的技術人員,你都必須知道告警日誌是什麼,在何處。 而對於 DBA來說,實時的監控資料庫的告警日誌是必須進行的工作,監控並且應該根據不同的嚴重級別,傳送不同級別的告警資訊(通過郵件、簡訊) ,這可以幫助我們及時瞭解資

Oracle學習刪除日誌組和日誌檔案

1.刪除日誌組 1)檢視日誌組(CURRENT狀態的日誌組需要切換日誌,其他狀態的可以刪除) SQL> select GROUP#,status from v$log; GROUP# STATUS ---------- -----

Linux檔案系統學習read open系統呼叫

open的執行過程:v2.6.30  Open Sys_open |do_sys_open() |get_unused_fd_flags ()//得到一個可用的檔案描述符;通過該函式,可知檔案描述符                                      

arm-linux移植手記基於busybox1.16.0的根檔案系統製作

    參考《Mini2440_Linux移植開發實戰指南.pdf》中的“使用 Busybox 構建檔案系統”,還是有些問題,我自己的為主要原因。詳細的檔案系統的介紹與理解,自己搜尋檢視相關資料吧,我這裡僅是記錄操作步驟與遇到的問題。指南手冊可以在我的資源中下載。環境介紹:

iOS開發AFNetworking 3.0.4使用

部落格遷移到簡書一來,一直沒有時間來寫部落格了,以前的也沒有整理,這個算是簡書上的第一個部落格吧!以後有時間還是得把以前的遷移過來,畢竟都是心血啊,也有轉載的很多大神們的技術文章,捨不得丟棄呀。。。 昨天使用Cocoapods匯入AFN做POST的時候,匯入的最新版的3

Windows如何連線linux和檔案到linuxsecurcrt

一般開發在Windows,部署專案在linux這個時候就要選一個方便的軟體可以將專案扔到linux上去了,securcrt.這個軟體很好實用 網上很多免安裝版的,開啟即用,首先是連線linux 這個就不說  輸入公網ip 使用者名稱 密碼就可以   SecureCRTPo

webAPI 檔案 404錯誤轉載 webAPI檔案檔案過大404錯誤的問題

webAPI檔案上傳時檔案過大404錯誤的問題  來源:https://www.cnblogs.com/dzhengyang/p/9149157.html 背景:最近公司有個需求,外網希望自動儲存資料到內網,內網有2臺伺服器可以相互訪問,其中一臺伺服器外網可以訪問,於是想在

SpringMVC框架22.1 使用 SpringMVC圖片

SpringMVC上傳圖片 1、配置圖片上傳解析器:SpringMVC中使用 commons-fileupload;(要匯入相應 jar包) 2、編寫 Controller方法; (springmvc.xml 檔案中配置圖片上傳解析器; 再在Controller的方法public Str

檔案下載工具類java

import org.springframework.core.io.FileSystemResource; import org.springframework.core.io.InputStream

SpringMVC的學習——SpringMVC返回值、SpringMVC實現檔案

一、SpringMVC返回值 ①json資料 訪問控制器返回Json型別資料 匯入對應的JSON包 支援: jackson : jackson-databind/jackson-annotations/jack-core gson: gson 注意:  jack

Flask Web開發入門檔案

本章我們介紹Flask Web開發中涉及的檔案上傳模組 定義後臺接收處理邏輯 # http://flask.pocoo.org/docs/0.12/patterns/fileuploads/ @app.route('/upload', methods=[

bootstrap File Input 多檔案外掛使用記錄配置及批量同步

bootstrap file input 多檔案上傳工具,功能十分強大,也很完善,我也是在接觸了這個外掛後自己研究使用的,當然也踩了很多的坑,主要是官方API是英文的,可能沒興趣一行一行的讀,只能是用到了什麼需求然後再去看對應的API說明。所以本文主要是我在使用過程中的解決

百度UEditor自定義檔案儲存路徑補充

上一篇百度UEditor自定義上傳檔案儲存路徑發表後,再解決了線上管理、線上圖片和線上附件功能不能使用的問題。 需要修改FileManager類: 註釋掉的程式碼是原來jar包的程式碼,不再需要,可以刪除掉。 //private String di

Bootstrap多圖片並預覽tp5

Bootstrap多圖上傳版本1.0(1)非同步上傳檔案並儲存到資料庫(2)限制檔案上傳個數(3)監聽檔案是否上傳成功一、控制器//多圖上傳 public function imgupload() {

bootstrap File Input 多檔案外掛使用記錄刪除原檔案

在上一篇文章中,主要介紹了file input外掛的初始化和多檔案同步上傳到伺服器的相關配置等。這篇主要介紹file input外掛的編輯等。 使用場景: 在後臺管理框架中,一條資料中包含不固定的多張圖片屬性,然後需要同其他資料一起做增刪改查。多檔案同時新增上一篇已經做過了

使用ueditor實現多圖片案例——Dao層BaseDao

package org.dao; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet