Url auf verfügbaren Dateityp prüfen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Url auf verfügbaren Dateityp prüfen

    Hallo,
    ich habe folgendes Problem:
    Ein NSURL wird mithilfe eines NSCalendars so erzeugt, das sie immer die aktuelle Kalenderwoche enthält: example.com/mediaCache/week41/file
    Dann wird diese von einem Webview geladen (Dateityp ist pdf).
    Manchmal ist die Datei jedoch nicht verfügbar, also wird anstatt des PDF Dokuments Code angezeigt, das heißt die URL existiert immer, enthält jedoch nicht immer die PDF Datei.
    Meine Frage:
    Kann ich den Dateityp abfragen, sodass ich z.B. einen UI AlertView anzeigen kann, wenn das PDF Dokument nicht verfügbar ist? (Der Code wird auch bei einer url angezeigt, die eigentlich keine Verwendung hat. Ich kann an die Url kein .pdf anfügen, da dies wider zu einer Codeanzeige führt).

    Vielen Dank im Voraus!
  • osdev2012 schrieb:

    Hallo,
    ich habe folgendes Problem:
    Ein NSURL wird mithilfe eines NSCalendars so erzeugt, das sie immer die aktuelle Kalenderwoche enthält: example.com/mediaCache/week41/file
    Dann wird diese von einem Webview geladen (Dateityp ist pdf).
    Manchmal ist die Datei jedoch nicht verfügbar, also wird anstatt des PDF Dokuments Code angezeigt, das heißt die URL existiert immer, enthält jedoch nicht immer die PDF Datei.
    Meine Frage:
    Kann ich den Dateityp abfragen, sodass ich z.B. einen UI AlertView anzeigen kann, wenn das PDF Dokument nicht verfügbar ist? (Der Code wird auch bei einer url angezeigt, die eigentlich keine Verwendung hat. Ich kann an die Url kein .pdf anfügen, da dies wider zu einer Codeanzeige führt).

    Vielen Dank im Voraus!


    was für code wird denn angezeigt? HTML-code?
    wer läd denn das file runter? du im code oder irgend ein app automatisch?
  • Hallo,

    … siehe unten.

    Viele Grüße

    Quellcode

    1. +(NSDictionary*)headerFieldsFromHTTPURL:(NSURL*)url
    2. {
    3. if(!url)
    4. {
    5. return nil;
    6. }
    7. NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
    8. [request setCachePolicy:NSURLRequestReloadIgnoringLocalAndRemoteCacheData];
    9. [request setHTTPMethod:@"HEAD"];
    10. NSURLResponse *response = nil;
    11. NSError *error = nil;
    12. [NSURLConnection sendSynchronousRequest:request
    13. returningResponse:&response
    14. error:&error];
    15. if(error)
    16. {
    17. return nil;
    18. }
    19. if(![response isKindOfClass:[NSHTTPURLResponse class]])
    20. {
    21. return nil;
    22. }
    23. NSHTTPURLResponse *HTTPURLResponse = (NSHTTPURLResponse*)response;
    24. NSInteger HTTPURLResponseStatusCode = [HTTPURLResponse statusCode];
    25. if(HTTPURLResponseStatusCode != 200)
    26. {
    27. return nil;
    28. }
    29. return [HTTPURLResponse allHeaderFields];
    30. }
    Alles anzeigen
  • gritsch schrieb:

    osdev2012 schrieb:

    Hallo,
    ich habe folgendes Problem:
    Ein NSURL wird mithilfe eines NSCalendars so erzeugt, das sie immer die aktuelle Kalenderwoche enthält: example.com/mediaCache/week41/file
    Dann wird diese von einem Webview geladen (Dateityp ist pdf).
    Manchmal ist die Datei jedoch nicht verfügbar, also wird anstatt des PDF Dokuments Code angezeigt, das heißt die URL existiert immer, enthält jedoch nicht immer die PDF Datei.
    Meine Frage:
    Kann ich den Dateityp abfragen, sodass ich z.B. einen UI AlertView anzeigen kann, wenn das PDF Dokument nicht verfügbar ist? (Der Code wird auch bei einer url angezeigt, die eigentlich keine Verwendung hat. Ich kann an die Url kein .pdf anfügen, da dies wider zu einer Codeanzeige führt).

    Vielen Dank im Voraus!


    was für code wird denn angezeigt? HTML-code?
    wer läd denn das file runter? du im code oder irgend ein app automatisch?


    Ich erhalte folgenden Code:

    array(
    1=>'0.062004089355469 CACHED: SELECT SQL_CALC_FOUND_ROWS * FROM `dev-modules-presences` LEFT OUTER JOIN `dev-modules-presencesAlias` ON `presencesId` = `rowId` WHERE 1 AND ( `server` = 'example.com' OR `alias` = 'example.com') LIMIT 0,1',
    2=>'0.068902969360352 CACHED: SELECT * FROM `admin-modules-modules` LEFT JOIN `dev-modules-relations` ON `dev-modules-relations`.`slaveTableId` = 13 AND `dev-modules-relations`.`masterTableId` = 8 AND `dev-modules-relations`.`masterRowId` = `admin-modules-modules`.`modulesId` LEFT JOIN `admin-rm-rights` ON `modulesId` = `admin-rm-rights`.`rowId` WHERE 1 AND `admin-rm-rights`.`tableId` = '8' AND ( `dev-modules-relations`.`slaveRowId` = '2' OR `dev-modules-relations`.`slaveRowId` IS NULL) ',
    3=>'0.076630115509033 CACHED: SELECT SQL_CALC_FOUND_ROWS * FROM `dev-modules-mediaFiles` INNER JOIN `dev-modules-mediaStructure` ON `dev-modules-mediaFiles`.`rowId` = `mediaStructureId` WHERE 1 AND `fileName` = '42Woche' AND ( `presenceId` IN (2,2,1) OR `allPresences` = '1') AND (SELECT 1 AS `right` FROM `dev-rm-rights` WHERE `tableId` = 17 AND `rowId` = `mediaFilesId` AND (`ownerId` = 0 OR `read` LIKE '%|w:1|%')) LIMIT 0,1',

    )
    Die PDF Datei wird lediglich in einem Webview angezeigt.