1. 檔案上傳
// 1.建立一個管理者
AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];
// 2.封裝參數(這個字典隻能放非檔案參數)
NSMutableDictionary *params = [NSMutableDictionary dictionary];
params[@"username"] = @"123";
params[@"age"] = @;
params[@"pwd"] = @"456";
params[@"height"] = @;
// 2.發送一個請求
NSString *url = @"http://localhost:8080/MJServer/upload";
[mgr POST:url parameters:params constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
// 在發送請求之前會自動調用這個block
// 需要在這個block中添加檔案參數到formData中
/**
FileURL : 需要上傳的檔案的URL路徑
name : 伺服器那邊接收檔案用的參數名
fileName : (告訴伺服器)所上傳檔案的檔案名
mimeType : 所上傳檔案的檔案類型
*/
NSURL *url = [[NSBundle mainBundle] URLForResource:@"itcast" withExtension:@"txt"];
[formData appendPartWithFileURL:url name:@"file" fileName:@"test.txt" mimeType:@"text/plain" error:nil];
/**
FileData : 需要上傳的檔案的具體資料
name : 伺服器那邊接收檔案用的參數名
fileName : (告訴伺服器)所上傳檔案的檔案名
mimeType : 所上傳檔案的檔案類型
*/
// UIImage *image = [UIImage imageNamed:@"minion_01"];
// NSData *fileData = UIImagePNGRepresentation(image);
// [formData appendPartWithFileData:fileData name:@"file" fileName:@"haha.png" mimeType:@"image/png"];
} success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"上傳成功");
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"上傳失敗");
}];
2.
// 1.建立一個管理者
AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];
// 2.封裝參數(這個字典隻能放非檔案參數)
NSMutableDictionary *params = [NSMutableDictionary dictionary];
params[@"username"] = @"123";
params[@"age"] = @;
params[@"pwd"] = @"456";
params[@"height"] = @;
// 2.發送一個請求
NSString *url = @"http://192.168.15.172:8080/MJServer/upload";
[mgr POST:url parameters:params constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
NSData *fileData = UIImageJPEGRepresentation(self.imageView.image, );
[formData appendPartWithFileData:fileData name:@"file" fileName:@"haha.jpg" mimeType:@"image/jpeg"];
// 不是用這個方法來設定檔案參數
// [formData appendPartWithFormData:fileData name:@"file"];
} success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"上傳成功");
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"上傳失敗");
}];
// 檔案下載下傳,檔案比較大,斷點續傳技術:普遍所有的HTTP伺服器都支援
// 檔案上傳,檔案比較大,斷點續傳技術:一般的HTTP伺服器都不支援,常用的技術用的是Socket(TCP\IP、UDP)