Преглед на файлове

NetrowkUtils 增加上传函数(nsdata)

Ray Zhang преди 8 години
родител
ревизия
a35adcece5

BIN
Ants Contract/AntsContract.xcworkspace/xcuserdata/Ray.xcuserdatad/UserInterfaceState.xcuserstate


BIN
RA Image/RA Image.xcodeproj/project.xcworkspace/xcuserdata/ray.xcuserdatad/UserInterfaceState.xcuserstate


BIN
RedAnt Mobile/RedAnt Mobile.xcodeproj/project.xcworkspace/xcuserdata/ray.xcuserdatad/UserInterfaceState.xcuserstate


+ 2 - 0
common/NetworkUtils.h

@@ -22,4 +22,6 @@ typedef void(^progressHandler)(NSURLSessionTask *task,double progress);
 
 
 + (NSURLSessionTask *)upload:(NSString *)filePath Params:(NSDictionary *)params ToHost:(NSString *)url Result:(resultHandler)r Progress:(progressHandler)p DecryptHandler:(id(^)(NSString *result))decrypt;
+
++ (NSURLSessionTask *)upload:(NSData *)filedata  FileName:(NSString*) filename Params:(NSDictionary *)params ToHost:(NSString *)urlString Result:(resultHandler)r Progress:(progressHandler)p DecryptHandler:(id (^)(NSString *))decrypt;
 @end

+ 102 - 6
common/NetworkUtils.m

@@ -279,10 +279,10 @@ repeat:
     NSMutableDictionary* jsobj = [@{@"result":@"2"} mutableCopy];
     return jsobj;
 }
-+ (NSURLSessionTask *)upload:(NSString *)filePath  Params:(NSDictionary *)params ToHost:(NSString *)urlString Result:(resultHandler)r Progress:(progressHandler)p DecryptHandler:(id (^)(NSString *))decrypt {
++ (NSURLSessionTask *)upload:(NSData *)filedata  FileName:(NSString*) filename Params:(NSDictionary *)params ToHost:(NSString *)urlString Result:(resultHandler)r Progress:(progressHandler)p DecryptHandler:(id (^)(NSString *))decrypt {
     
     
-    NSString *fileName = [filePath lastPathComponent];
+//    NSString *fileName = [filePath lastPathComponent];
     
     NSMutableData *dataM = [NSMutableData data];
     
@@ -290,7 +290,7 @@ repeat:
     
     
     DebugLog(@"================parms==================");
-
+    
     
     
     for (NSString *key in params) {
@@ -306,15 +306,15 @@ repeat:
     DebugLog(@"================parms==================");
     [stringM appendString:[NSString stringWithFormat:@"--%@\r\n",BOUNDARY]];
     
-    [stringM appendFormat:@"Content-Disposition: form-data; name=\"upfile\"; filename=%@\r\n",fileName];
+    [stringM appendFormat:@"Content-Disposition: form-data; name=\"upfile\"; filename=%@\r\n",filename];
     [stringM appendString:@"Content-Type: application/mac-binary\r\n"];
     [stringM appendString:@"\r\n"];
     
     NSData *stringM_data = [stringM dataUsingEncoding:NSUTF8StringEncoding];
     [dataM appendData:stringM_data];
     
-    NSData *file_data = [NSData dataWithContentsOfFile:filePath];
-    [dataM appendData:file_data];
+//    NSData *file_data = [NSData dataWithContentsOfFile:filePath];
+    [dataM appendData:filedata];
     
     NSString *end = [NSString stringWithFormat:@"\r\n--%@--",BOUNDARY];
     [dataM appendData:[end dataUsingEncoding:NSUTF8StringEncoding]];
@@ -370,6 +370,102 @@ repeat:
     
     return dataTask;
 }
++ (NSURLSessionTask *)upload:(NSString *)filePath  Params:(NSDictionary *)params ToHost:(NSString *)urlString Result:(resultHandler)r Progress:(progressHandler)p DecryptHandler:(id (^)(NSString *))decrypt {
+    
+    
+    NSString *fileName = [filePath lastPathComponent];
+    
+    
+        NSData *file_data = [NSData dataWithContentsOfFile:filePath];
+    
+    return [self upload:file_data FileName:fileName Params:params ToHost:urlString Result:r Progress:p DecryptHandler:decrypt];
+//
+//    NSMutableData *dataM = [NSMutableData data];
+//
+//    NSMutableString *stringM = [NSMutableString string];
+//
+//
+//    DebugLog(@"================parms==================");
+//
+//
+//
+//    for (NSString *key in params) {
+//
+//        [stringM appendString:[NSString stringWithFormat:@"--%@\r\n",BOUNDARY]];
+//        [stringM appendFormat:@"Content-Type: text/plain; charset=UTF-8\r\n"];
+//        [stringM appendFormat:@"Content-Disposition: form-data; name=\"%@\"\r\n\r\n",key];
+//        [stringM appendFormat:@"%@\r\n",[params objectForKey:key]];
+//
+//
+//        DebugLog(@"parameter: key=%@   value=%@",key,[params objectForKey:key]);
+//    }
+//    DebugLog(@"================parms==================");
+//    [stringM appendString:[NSString stringWithFormat:@"--%@\r\n",BOUNDARY]];
+//
+//    [stringM appendFormat:@"Content-Disposition: form-data; name=\"upfile\"; filename=%@\r\n",fileName];
+//    [stringM appendString:@"Content-Type: application/mac-binary\r\n"];
+//    [stringM appendString:@"\r\n"];
+//
+//    NSData *stringM_data = [stringM dataUsingEncoding:NSUTF8StringEncoding];
+//    [dataM appendData:stringM_data];
+//
+//    NSData *file_data = [NSData dataWithContentsOfFile:filePath];
+//    [dataM appendData:file_data];
+//
+//    NSString *end = [NSString stringWithFormat:@"\r\n--%@--",BOUNDARY];
+//    [dataM appendData:[end dataUsingEncoding:NSUTF8StringEncoding]];
+//
+//    // Data
+//    NSData *data = dataM;
+//
+//
+//    // 可变请求
+//    NSURL *url = [NSURL URLWithString:urlString];
+//    NSMutableURLRequest *requestM = [NSMutableURLRequest requestWithURL:url
+//                                                            cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:JSON_TIMEOUT];
+//    // line note
+//    requestM.HTTPMethod = @"POST";
+//
+//    // request header
+//    [requestM addValue:@"close" forHTTPHeaderField:@"Connection"];
+//
+//    [requestM addValue:[NSString stringWithFormat:@"multipart/form-data; boundary=%@",BOUNDARY] forHTTPHeaderField:@"Content-Type"];
+//
+//    [requestM addValue:[NSString stringWithFormat:@"%lu", (unsigned long)[data length]] forHTTPHeaderField:@"Content-Length"];
+//
+//    // request body
+//    requestM.HTTPBody = data;
+//
+//
+//
+//    NSURLSession *urlSession = [self standSession];
+//
+//    if (urlSession.delegate) {
+//        if ([urlSession.delegate isKindOfClass:[RANetworkTaskDelegate class]]) {
+//
+//            RANetworkTaskDelegate *delegate = (RANetworkTaskDelegate *)urlSession.delegate;
+//
+//            if (p) {
+//                delegate.p = p;
+//            }
+//
+//            if (r) {
+//                delegate.r = r;
+//            }
+//
+//            if (decrypt) {
+//                delegate.decryptHandler = decrypt;
+//            }
+//
+//        }
+//    }
+//
+//    NSURLSessionDataTask *dataTask = [urlSession uploadTaskWithRequest:requestM fromData:data];
+//
+//    [dataTask resume];
+//
+//    return dataTask;
+}