0
我已經搜索了這個問題,發現了類似的問題,但沒有人喜歡它。從iPhone發送多部分請求到Ruby on Rails(RoR)服務器
我建立一個請求,以手動
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:TEST_URL]];
[request setHTTPMethod:@"POST"];
NSString *boundary = [NSString stringWithString:@"---------------------------14737809831466499882746641449"];
NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@", boundary];
[request addValue:contentType forHTTPHeaderField:@"Content-Type"];
NSMutableData *body = [NSMutableData data];
[body appendData:[[NSString stringWithFormat:@"--%@\r\n\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"Content-Disposition: form-data; name=upload[jsondata]\r\n\n Content-Type: application/octet-stream\r\n\r\n", [dateFormatter stringFromDate:startDate]] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[json dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithFormat:@"\r\n--%@--\r\n", boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[request setHTTPBody:body];
當這個請求到達軌道服務器,它理解內容處置,內容類型,但身體的一部分JSON被捕獲爲「ActionDispatch :: Http :: UploadedFile「,這意味着服務器不理解JSON,並將它看作是一個文件。
我在做什麼錯?這是從iOS設備發送併發送到Rails服務器的請求的問題嗎?某種錯誤?我已經嘗試了ASIHTTPRequest,結果相同。