2012-11-15 73 views
0

我有幾個在我的應用程序中生成的CSV文件,我正在尋找一種可行的方式將文件獲取到桌面所以一些好的數字計算可能會發生。目前,文件必須保留CSV,因爲這是桌面應用程序使用的。我看到有一個文件傳輸方法,但它看起來像使用post提交文件,但我不希望這個軟件具有任何類型的Web服務依賴關係。我正在考慮使用電子郵件,但看起來我不能添加附件。如果能夠成功的話,將會是一個不錯的FTP客戶端,但我只能找到適用於Android的插件。如何從iOS上的Cordova 2.2.0應用程序獲取文件

回答

0

發佈到Web服務最簡單,因爲它直接支持瀏覽器,不需要插件。

有可用的FTP 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];  
} 
相關問題