我在我的应用程序中生成了几个 CSV 文件,我正在寻找一种可行的方法将这些文件传输到台式计算机,以便可以进行一些好的老式数字运算。目前,文件必须保持 CSV,因为这是桌面应用程序使用的。我看到有一种文件传输方法,但看起来它使用post提交文件,但我不希望这个软件有任何类型的web服务依赖。我正在考虑使用电子邮件,但看起来我无法添加附件。一个很好的 FTP 客户端会很有效,但我只能找到一个适用于 Android 的插件。
问问题
282 次
1 回答
0
发布到网络服务是最简单的,因为浏览器直接支持,不需要插件。
有可用的 iOS FTP 客户端库,但其中涉及相当多的复杂性。
另一方面,电子邮件是 iOS 的标准部分,因此即使标准插件没有实现您想要的结构,编写自定义电子邮件插件也非常简单:
-(void)sendEmail:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options
{
NSString *callback = [arguments objectAtIndex:0];
NSString *html = [arguments objectAtIndex:1];
NSString *csv= [arguments objectAtIndex:3];
NSData *csvData = [csv dataUsingEncoding:NSUTF8StringEncoding];
MFMailComposeViewController *composer = [[MFMailComposeViewController alloc] init];
composer.mailComposeDelegate = self;
[composer setSubject:@"CSV Data"];
[composer setMessageBody:html isHTML:YES];
[controller addAttachmentData:csvData mimeType:@"text/csv" fileName:@"CSVFile.csv"];
if (composer != nil) {
[self.viewController presentModalViewController:composer animated:YES];
}
// [composer release]; // not needed with ARC
// send callback immediately - we don't need to know what happened to the mail after the UI opened
CDVPluginResult* result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsString: @"Email UI opened"];
[self writeJavascript:[result toSuccessCallbackString:callback]];
}
- (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error
{
[self.viewController dismissModalViewControllerAnimated:YES];
}
于 2012-11-16T02:53:32.247 回答