我正在開發一個使用.NET Web服務的iOS應用程序。在其中一個Web服務中,我必須發送圖像HttpPostedFileBase在一個名爲「文件」的參數中,該參數將返回圖像URL和狀態參數作爲響應。其實我不確定什麼是HttpPostedFileBase。但我試圖將它作爲字節發送。我從WS獲取圖像URL爲空。我想WS電話工作正常,但問題是我發送圖像的方式。我正在使用下面的代碼將圖像數據附加到HTTP正文。發送圖像到.NET Web服務
NSData *imageData = UIImageJPEGRepresentation(image, 1);
[postData appendData:[[NSString stringWithFormat:@"--%@\r--\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[postData appendData:[@"Content-Disposition: form-data; name=\"file\"; filename=\"file.jpeg\"\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
[postData appendData:[@"Content-Type: image/jpeg\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
[postData appendData:imageData];
[request addValue:@"application/octet-stream" forHTTPHeaderField:@"Content-Type"];
[request addValue:[NSString stringWithFormat:@"%i", [postData length]] forHTTPHeaderField:@"Content-Length"];
[postData appendData:[[NSString stringWithFormat:@"--%@\r--\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
請讓我知道我該如何得到這個工作。讓我知道你是否需要更多的細節。
謝謝。
您正在將沒有內容頭部分的內容發送到服務器,這就是爲什麼它不起作用。改變這一行「'mutablePostData = [NSMutableData dataWithData:imageData];'」爲「'[mutablePostData appendData:imageData];'」。而且,我也沒有看到任何內容邊界和端點? –
@FahriAzimov,對不起。我的錯。請檢查現在編輯的代碼。謝謝。 – EmptyStack
快速搜索SO給出了這個結果:http://stackoverflow.com/questions/8564833/ios-upload-image-and-text-using-http-post 祝你好運! –