HTTP_USER_AGENT Bild hochladen

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

  • HTTP_USER_AGENT Bild hochladen

    Guten Tag liebe Community!
    Ich arbeite derzeit an einem kleinen Tool (für mich), um meine Kenntnisse zu verbessern.

    Ich kann ein Bild von dem ganzen Desktop auch machen, aber meine Frage ist, wie ich dies dann hochlade.
    Ich habe mir einige Beispiele angeschaut, konnte aber nicht wirklich durchblicken.

    Mein Code sieht derzeit so aus, ich weiß nicht obs nun falsch oder nicht (nicht vollständig, vermute ich mal):

    Quellcode

    1. - (void) screenDesktop {
    2. CFArrayRef screenWindows = CGWindowListCreate(kCGWindowListOptionOnScreenOnly, kCGNullWindowID);
    3. CGImageRef cgimage = CGWindowListCreateImageFromArray(CGRectInfinite, screenWindows, kCGWindowListOptionAll);
    4. NSBitmapImageRep* rep = [[NSBitmapImageRep alloc] initWithCGImage:cgimage];
    5. NSData* data = [rep representationUsingType:NSPNGFileType properties:[NSDictionary dictionary]];
    6. //NSString *path = [NSString stringWithFormat:@"%@/Desktop/test.png", NSHomeDirectory()];
    7. //[data writeToFile:path atomically:YES];
    8. NSURL *url = [NSURL URLWithString:@"http://xxx/upload.php"];
    9. NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:20.0f];
    10. [request setHTTPMethod:@"POST"];
    11. //Setze Parameter für das Bild und für den User-KEY
    12. [request setValue:data forHTTPHeaderField:@"file"];
    13. [self.audio play];
    14. }
    Alles anzeigen


    Mein PHP Code sieht so aus:

    Quellcode

    1. $uid = explode("-", $_SERVER['HTTP_USER_AGENT']);
    2. if($debug == true)
    3. {
    4. die();
    5. }
    6. $uploads_dir = './'; //Directory to save the file that comes from client application.
    7. if(StartsWith($_SERVER['HTTP_USER_AGENT'], "screenshot-"))
    8. {
    9. if ($_FILES["file"]["error"] == UPLOAD_ERR_OK) {
    Alles anzeigen

    Der rest des Codes ladet er die Datei hoch und erstellt nur ein Eintrag in der Datenbank.
    Nun ist meine Frage, wie kann ich die Datei hochladen?
    Mit freundlichen Grüßen

    Madly

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Madly ()

  • Wenn du Daten über eine POST-Anfrage hochladen willst, um sie über $_FILES in PHP auszulesen, musst du die Daten als MIME-Multipart-Body versenden. Ein Beispiel dazu findest du hier. Alternativ kannst du die Daten auch in den Body einer GET- oder PUT-Anfrage packen; das geht dann ungefähr so wie du es machst. Allerdings musst du sie dann anders auslesen.
    „Meine Komplikation hatte eine Komplikation.“
  • macmoonshine schrieb:

    Wenn du Daten über eine POST-Anfrage hochladen willst, um sie über $_FILES in PHP auszulesen, musst du die Daten als MIME-Multipart-Body versenden. Ein Beispiel dazu findest du hier. Alternativ kannst du die Daten auch in den Body einer GET- oder PUT-Anfrage packen; das geht dann ungefähr so wie du es machst. Allerdings musst du sie dann anders auslesen.

    Danke für die schnelle Antwort, werde mir mal das mit dem Multipart-Body genauer anschauen.
    Ggf. werde ich diesen Post editieren, falls sich irgendetwas ergibt.

    Mit freundlichen Grüßen
    Madly