2016-12-10 10 views
0

Ich versuche, Bild auf den Server hochzuladen, aber immer Fehler vom Server erhalten.Wie hochzuladen Datei zum Server?

Header.

Inhaltstyp: multipart/form-data; = Grenze --- GRENZ

Körper

----- GRENZ

Content-Disposition: form-data; name = "Datei"; filename = "pic.jpg"

Content-Type: image/jpeg

Content-Transfer-Encoding: base64

/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAABAAEDASIA AhEBAxEB/8QAFQABAQAAAAAAAAAAAAAAAAAAAAf/xAAUEAEAAAAAAAAAAAAAAAAAAAAA/8QAFAEB AAAAAAAAAAAAAAAAAAAAAP/EABQRAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhEDEQA/AL + AD // Z ----- Bounda RY

Ich habe unten Code

-(NSString *)uploadFileToServer:(NSString *)fileName fileData:(NSData *)file1Data 
{ 
NSString *urlString =url. 
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init]; 
[request setURL:[NSURL URLWithString:urlString]]; 
[request setHTTPMethod:@"POST"]; 
NSString *boundary = @"---BOUNDARY"; 
NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@",boundary]; 
[request addValue:contentType forHTTPHeaderField: @"Content-Type"]; 
NSMutableData *body = [NSMutableData data]; 
NSString *header = [NSString stringWithFormat:@"Content-Disposition: form-data; name=\"%@\"; filename=\"%@\"\r\n",@"file",@"pic.jpg"]; 
[body appendData:[[NSString stringWithFormat:@"\r\n–%@\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]]; 
[body appendData:[[NSString stringWithString:header] dataUsingEncoding:NSUTF8StringEncoding]]; 
[body appendData:[NSData dataWithData:file1Data]]; 
[body appendData:[[NSString stringWithFormat:@"\r\n–%@–\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]]; 
[body appendData:[@"Content-Type: image/jpeg\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]]; 
[request setHTTPBody:body]; 
NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil]; 
NSString *returnString = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding] ; 
return returnString; 
} 

Antwort

"details": { 

    "errors": { 

     "file": "is required" 
    } 
    }, 
    "error": "Invalid files", 

    "error_code": 4, 

    "exc_class": "FAPIValidationError", 

    "rc": false 
+0

wenn Sie wissen, über afnetworking dann mit diesem gehen Sie bitte Datei hochladen –

+0

Eigentlich habe ich ein Code swift2.3 ist –

+0

Dank für Ihre Antwort, können Sie mir bitte mitteilen, welcher Teil des Codes ist nicht in Ordnung? –

Antwort

0

Haben Sie versucht alamofire mit?

Alamofire.upload(multipartFormData: { (multipartFormData) in 
// put your data to multipart here       
}, to: url) { (result) in 

    switch result { 
    case .success(let upload, _, _): 

    upload.responseJSON { response in 

     switch response.result { 
     case .success(let json): 
     break:  
     case .failure(_): 
     break:  
     } 
    } 
    case .failure(_): 
    break: 
    } 
} 
Verwandte Themen