• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Die Bildungsoffensive hier im Forum geht weiter! Jetzt sollen Kreativität und technische Möglichkeiten einen neue Dimension erreichen. Das Thema in diesem Monat lautet - Verkehrte Welt - Hier geht es lang --> 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