2013-08-02 143 views
0

以下代碼是將圖像文件發送到Web服務器,但我需要將其更改爲發送PDF文件。在哪裏改變我不知道。任何幫助..使用AFNetworking從iPhone發送PDF文件到網絡服務器?

NSURL *url = [NSURL URLWithString:@"http://api-base-url.com"]; 
AFHTTPClient *httpClient = [[AFHTTPClient alloc] initWithBaseURL:url]; 
NSData *imageData = UIImageJPEGRepresentation([UIImage imageNamed:@"avatar.jpg"], 0.5); 
NSMutableURLRequest *request = [httpClient multipartFormRequestWithMethod:@"POST" path:@"/upload" parameters:nil constructingBodyWithBlock: ^(id <AFMultipartFormData>formData) { 
    [formData appendPartWithFileData:imageData name:@"avatar" fileName:@"avatar.jpg" mimeType:@"image/jpeg"]; 
}]; 

AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request]; 
[operation setUploadProgressBlock:^(NSUInteger bytesWritten, long long totalBytesWritten, long long totalBytesExpectedToWrite) { 
    NSLog(@"Sent %lld of %lld bytes", totalBytesWritten, totalBytesExpectedToWrite); 
}]; 
[httpClient enqueueHTTPRequestOperation:operation]; 

回答

0

NSData通常用於存儲數據,而不僅僅是圖像。如果你創建一個包含PDF數據的NSData對象,那麼你可以使用相同的代碼來上傳它。只要您可以訪問PDF文件,您就不必在特定位置安裝PDF文件 - 儘管如果您有文件,dataWithContentsOfFile將會很好。許多應用程序使用PDF圖形上下文創建自己的顯示器的PDF輸出,例如UIGraphicsBeginPDFContextToData

這裏的some code顯示瞭如何使用AFNetworking發送PDF(請參閱此處瞭解正確的MIME類型等) - 該片段正用於說明AFNetworking中的錯誤,但不用擔心,它已修復。

0

您可以將PDF文件轉換成的NSData,並將其發送給Web服務

您只需要做到這一點:

NSData *pdfData = [NSData dataWithContentsOfFile:pdfName]; 

你可以有一個Web服務,將採取這一數據,並將其轉換回到服務器端的PDF。

相關問題