使用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。