如何在iOS上从Cordova 2.2.0应用程序获取文件

如何在iOS上从Cordova 2.2.0应用程序获取文件,cordova,file-transfer,Cordova,File Transfer,我已经在我的应用程序中生成了几个CSV文件,我正在寻找一种可行的方法将这些文件传送到桌面计算机,以便进行一些老式的数字运算。目前,文件必须保持CSV,因为桌面应用程序使用CSV。我看到有一个文件传输方法,但它看起来像是使用post提交文件,但我不希望这个软件有任何类型的web服务依赖项。我想用电子邮件,但看起来我无法添加附件。一个很好的FTP客户端将非常有用,但我只能找到一个Android插件。发布到web服务是最简单的,因为浏览器直接支持,不需要插件 有iOS FTP客户端库可用,但其中涉及相

我已经在我的应用程序中生成了几个CSV文件,我正在寻找一种可行的方法将这些文件传送到桌面计算机,以便进行一些老式的数字运算。目前,文件必须保持CSV,因为桌面应用程序使用CSV。我看到有一个文件传输方法,但它看起来像是使用post提交文件,但我不希望这个软件有任何类型的web服务依赖项。我想用电子邮件,但看起来我无法添加附件。一个很好的FTP客户端将非常有用,但我只能找到一个Android插件。

发布到web服务是最简单的,因为浏览器直接支持,不需要插件

有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];    
}