使用AFNetworking从iPhone发送PDF文件到网络服务器?

问题描述:

以下代码是将图像文件发送到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]; 

请检查此链接。我想这是你需要的。但首先您必须将PDF文件存储在文档目录中。

Upload pdf file (from document directory) through web service in iPhone?

该代码使用AFNetworking

不知道,如果是没有错误的,因为它已经从一个较长的源获取,所以我修改一些代码块,但它是一个良好的开端

希望这会有所帮助。

NSData通常用于存储数据,而不仅仅是图像。如果你创建一个包含PDF数据的NSData对象,那么你可以使用相同的代码来上传它。只要您可以访问PDF文件,您就不必在特定位置安装PDF文件 - 尽管如果您有文件,dataWithContentsOfFile将会很好。许多应用程序使用PDF图形上下文创建自己的显示器的PDF输出,例如UIGraphicsBeginPDFContextToData

这里的some code显示了如何使用AFNetworking发送PDF(请参阅此处了解正确的MIME类型等) - 该片段正用于说明AFNetworking中的错误,但不用担心,它已修复。

您可以将PDF文件转换成的NSData,并将其发送给Web服务

您只需要做到这一点:

NSData *pdfData = [NSData dataWithContentsOfFile:pdfName]; 

你可以有一个Web服务,将采取这一数据,并将其转换回到服务器端的PDF。