Hallo zusammen,
Bin ein Einsteiger, also nicht gleich verhauen für die Frage
In meiner App kann man über NSURLDownload Dateien herunterladen. Nun möchte ich den Ausgabeordner für die Downloads festlegen.
Der Ausgabeordner wird gesetzt (funktioniert):
Alles anzeigen
Aber die App kann die Datei nicht ausgeben an den besonderen Pfad (bisher habe ich die Dateien immer im Downloads-Ordner speichern lassen).
Alles anzeigen
Kann mir jemand weiterhelfen?
Bekomme außerdem bei dem was ich im Quellcode mit neu gekennzeichnet habe die Fehlermeldung von Xcode "Too many arguments to method call, expected 1, have 2"
Freue mich auf Antworten!
Bin ein Einsteiger, also nicht gleich verhauen für die Frage
In meiner App kann man über NSURLDownload Dateien herunterladen. Nun möchte ich den Ausgabeordner für die Downloads festlegen.
Der Ausgabeordner wird gesetzt (funktioniert):
Quellcode
- -(IBAction)SelectDownloadOutput:(id)sender
- {
- //Schließe Einstellungen
- [self.SettingsSheet orderOut:nil];
- [NSApp endSheet:self.SettingsSheet];
- // Initialisiere und konfiguriere Open-Panel
- NSOpenPanel *downloadFolderSelectOpenPanel = [NSOpenPanel openPanel];
- [downloadFolderSelectOpenPanel setCanChooseFiles:NO];
- [downloadFolderSelectOpenPanel setCanChooseDirectories:YES];
- [downloadFolderSelectOpenPanel setCanCreateDirectories:YES];
- [downloadFolderSelectOpenPanel beginSheetModalForWindow:self.window completionHandler:^(NSInteger result) {
- if (result == NSFileHandlingPanelOKButton)
- {
- // OK Button gedrückt
- // Speichere Pfad
- [[NSUserDefaults standardUserDefaults] setValue:[[[downloadFolderSelectOpenPanel URLs] lastObject] path] forKey:@"downloadFolderPath"];
- }
- }];
- }
Aber die App kann die Datei nicht ausgeben an den besonderen Pfad (bisher habe ich die Dateien immer im Downloads-Ordner speichern lassen).
Quellcode
- //Download Delegate
- - (void)webView:(WebView *)sender decidePolicyForMIMEType:(NSString *)type request:(NSURLRequest *)request frame:(WebFrame *)frame
- decisionListener:(id < WebPolicyDecisionListener >)listener
- {
- if ([type isNotEqualTo:@"text/html"]) {
- [listener use];
- NSURL *url = [request URL];
- NSArray *parts = [[[url absoluteString] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding] componentsSeparatedByString:@"/"];
- NSString *filename = parts[[parts count]-1];
- if([filename rangeOfString:@"?"].location != NSNotFound)
- {
- NSArray *names = [filename componentsSeparatedByString:@"?"];
- filename = names[0];
- }
- NSString *homePath = [self homeDirectory];
- //Neu
- NSString *filePath = [[NSUserDefaults standardUserDefaults] valueForKey:@"downloadFolderPath", filename];
- //Neu ende
- // So habe ich früher Dateien gesichert:
- //[NSString stringWithFormat:@"%@/Downloads/%@", homePath, filename];
- DownloadData *downloadData = [[DownloadData alloc] init];
- downloadData.fileName = filename;
- downloadData.fileSize = 0;
- [listDownloadDatas addObject:downloadData];
- upDownCellViewController * cellViewController = [[upDownCellViewController alloc] init];
- [cellViewController initWithData:downloadData];
- [cellViewControllers addObject:cellViewController];
- NSURLDownload *down = [[NSURLDownload alloc] initWithRequest:request delegate:cellViewController];
- [down setDestination:filePath allowOverwrite:NO];
- [self.downloadTableView reloadData];
- [AppDelegate setArrayForKey:listDownloadDatas forKey:@"DownloadData"];
- NSLog(@"Download did start");
- return;
- }
- [listener use];
- NSLog(@"%@", type);
- }
Bekomme außerdem bei dem was ich im Quellcode mit neu gekennzeichnet habe die Fehlermeldung von Xcode "Too many arguments to method call, expected 1, have 2"
Freue mich auf Antworten!