• Wieder einmal haben uns unsere Apfeltalker tolle Fotos zur Abstimmung eingesandt. Welches ist Euer Favorit? Stimmt mit ab! Hier geht es zur Abstimmung --> Klick
  • Es ist bereits Apfeltalk-Tradition und wir möchten sie auch in diesem Jahr fortsetzen: Unser Apfeltalk-Weihnachtslogo-Wettbewerb hat begonnen! Gestaltet für uns das Weihnachtsbanner, das im Monat Dezember bis zum Weihnachtsfest unsere Webseite schmücken soll. Lasst Eurer Kreativität freien Lauf! Hier geht es zum Wettbewerb --> Klick

PDF in CoreData

Matak

Braeburn
Registriert
08.02.13
Beiträge
46
Hallo Community,

ich möchte eine PDF vom Server laden, diese in der Datenbank mit CoreData speichern und wieder über das storyboard anzeigen lassen. wie mache ich das am geschicktesten?
Ich habe noch kein Beitrag dazu gefunden, falls es schon einen gibt, tut es mir leid, würde mich aber über den Link freuen :)

Viele Grüße
Matak
 
Hallo Matak,

was von deiner Anforderung klappt denn schon und wie ist deine Programmiererfahrung im Bereich der iOS-Entwicklung?

Wenn ich dich richtig verstanden habe, möchtest du zwei Dinge:

1) Laden & speichern einer .pdf-Datei
2) Anzeigen der .pdf-Datei.

Der erste Teil ist etwas spezifisch bzgl. des Servers von dem du die Datei(en) herunterladen möchtest, das Ablegen der Datei in CoreData ist dann der einfachere Teil: http://stackoverflow.com/questions/15788414/insert-a-pdf-file-into-core-data

Zur Anzeige einer pdf-Datei kannst du ab iOS7 den ZoomingPDFViewer nutzen.
 
Also nicht coreData nutzen. Aber warum nicht?
Und wie speicher ich das dann?
 
Doch, du kannst ruhig Core Data nehmen, wenn du sowieso eine Datenbank verwendest. Wenn du dann doch die Files in einem Filesystem brauchst, kannst du dein Programm leicht umbiegen.
 
Ich finde es ist einfacher Dateien einfach im Filesystem zu speichern.
 
Bei mir sieht es zur zeit so aus...

Code:
NSString *downloadPathForPhotodocumentation = [NSString stringWithFormat:mad:"%@daten/lehrgaenge/%@/fotodokumentation/%@",[self getDatabaseServerAddress],photodocumentation.photodocumentationID,photodocumentation.fileName];

        NSMutableURLRequest* request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:downloadPathForPhotodocumentation]];

        NSError* error = [[NSError alloc]init];

        NSHTTPURLResponse *urlResponse;

        NSData *fileContents = [NSURLConnection sendSynchronousRequest:request returningResponse:&urlResponse error:&error];

        NSLog(@"%s fileContents", __PRETTY_FUNCTION__);

   

        if (fileContents.length > 0 && [urlResponse statusCode] == 200)

        {
            photodocumentation.file = fileContents;

            [delegate saveContext];
        }

wie Speicher ich das richtig in core data? ich habe (wie man merkt) keine Ahnung, wie man mit pdfs auf iOS umgeht....
und wie bekomme ich die PDF aus core data in den ZoomingPDFViewer... wäre echt toll, wen mir das jemand erklären könnte

[h2]Mod-Info[/h2]
CODE-Tags hinzugefügt.
 
Zuletzt bearbeitet von einem Moderator:
Du kannst auch Binary-Dateien in CoreData speichern, dafür solltest du dann allerdings als Typ "Binary Data" auswählen und GANZ WICHTIG "Store in External Record File" im Modell bei deiner Property anmachen. Dann kannst du direkt auf die Datei zugreifen aus deiner Subclass und das NSData was du zurück bekommst wieder in ein Bild oder PDF oder was auch immer wandeln.
 
  • Like
Reaktionen: lx88