BackgroundUploader Hilfe BackgroundUploader Hilfe
Danke Danke:  0
Ergebnis 1 bis 12 von 12
  1. Guten Tag

    Mit dem neuen SDK für WP8.1 bin ich derzeit etwas mit dem Windows.Networking.BackgroundTransfer am basteln. Und zwar möchte ich auf einfache Weise einen Upload an eine simple php API leiten, welche dann die hochgeladene Datei speichert. Als Alternative gibts da nun ja den neuen WebClient, vorher als httpClient bekannt, mit welchem dies auch Problemlos funktioniert. Mein Problem mit dem BackgroundUploader ist, dass der header request nicht optimal gesendet wird und so meine php API das File nicht entgegennehmen kann. Weiss da jemand von eich Rat?

    Mfg

    Mit der kostenlosen PocketPC.ch App von meinem RM-937_eu_euro2_936 aus geschrieben.
    0
     

  2. 09.05.2014, 09:47
    #2
    Was ist denn genau das Problem mit dem Header? Hast du evtl. alternativ die Möglichkeit die PHP-Seite anzupassen?
    0
     

  3. Der BackgroundUploader sendet den header anscheinend anders, als der httpClient. Habe das mithilfe von Fiddler mal verglichen. Die php API ist im Grunde nichts anderes, als eine Upload-routine, welche aber das File erst speichert, wenn der header syntax (bei mir "Filename"), übereinstimmt. Im Code vom BackgroundUploader habe ich den auch so definiert, das php Script will das aber nicht akzeptieren bzw. bekommt eben die header Daten nicht so, wie es sie brauchen würde. Das php Script würde sich natürlich ändern lassen, kein Problem, aber da weiss ich nicht genau, was ich daran ändern soll, damit es das File akzeptiert.

    Mfg
    Mit der kostenlosen PocketPC.ch App von meinem RM-937_eu_euro2_936 aus geschrieben.
    0
     

  4. 09.05.2014, 10:39
    #4
    Kannst du bei Gelegenheit mal posten wie der Header in richtig aussehen muss und wie er vom Background Uploader daherkommt, bzw. auch den Code den du für den Upload in der App (HttpClient) und über den Background Uploader nutzt. Da wird das Problem glaub ich irgendwo im Detail stecken.
    0
     

  5. Ok werde ich tun, sobald ich @home bin. Ev noch zur Info: Wenn ich die php API auf "PUT" umbaue, funktionierts auch, jedoch müsste ich eben via "POST" eine Datei auf den Server bekommen.

    Mfg
    Mit der kostenlosen PocketPC.ch App von meinem RM-937_eu_euro2_936 aus geschrieben.
    0
     

  6. 09.05.2014, 12:50
    #6
    Kann das sein dass wenn du es mit POST machst das "Formularfeld" für den Upload durch den Backgroundservice einfach einen anderen Namen hat statt "filename"? Na ja, ich schau mir dann einfach bei Gelegenheit an was in den Headern deiner Fiddler-Traces steht.
    0
     

  7. Im Backgroundservice kann ich diesen definieren, so wird er dann auch in meinem Fiddler-Trace angezeigt, in meinem Fall also "Filename". Bin immernoch unterwegs, was mir aber gerade in den Sinn kommt, im Header wird beim BackgroundUploader keine Dateigrösse mitgegeben, im vergleich zum httpClient.

    Mfg
    Mit der kostenlosen PocketPC.ch App von meinem RM-937_eu_euro2_936 aus geschrieben.
    0
     

  8. So, nun bin ich endlich am Rechner, hier der jeweilige Fiddler-Trace, mit dem dazugehörigen Code.

    Codeauszug httpClient:

    Code:
    var PostClient = new HttpClient();
    
                        MultipartFormDataContent bild = new MultipartFormDataContent();
                        bild.Add(new StreamContent(photoStream), "Filename", fileName);
    
                            await PostClient.PostAsync(UploadURL, bild)
                            .ContinueWith((postTask) =>
                            {
                                postTask.Result.EnsureSuccessStatusCode();
                                 });
    Und hier der damit ausgegebene Fiddler-Trace:

    HTTP/1.1 200 Fiddler Generated
    Date: Thu, 08 May 2014 16:00:03 GMT
    Content-Type: text/html; charset=UTF-8
    Connection: close
    Cache-Control: no-cache, must-revalidate
    Timestamp: 18:00:03.269

    <!doctype html>
    <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Fiddler Echo Service</title></head><body style="font-family: arial,sans-serif;"><h1>Fiddler Echo Service</h1><br /><pre>POST / HTTP/1.1
    Accept: */*
    Content-Length: 1689904
    Accept-Encoding: identity
    Content-Type: multipart/form-data; boundary=&quot;b008dbca-e68a-4c35-bd2d-14666dc3e7d4&quot;
    User-Agent: NativeHost
    Host: 192.168.1.10:8888
    Connection: Keep-Alive
    Cache-Control: no-cache

    --b008dbca-e68a-4c35-bd2d-14666dc3e7d4
    Content-Disposition: form-data; name=Filename; filename=&quot;C:\Data\Users\Public\Pictures\Camera Roll\WP_20140503_14_03_25_Pro.jpg&quot;; filename*=utf-8&#39;&#39;C%3A%5CData%5CUsers%5CPublic%5CPictures%5CCamera%20Roll%5CWP_20140503_14_03_25_Pro.jpg
    Dann hier der Code des BackgroundUploaders:

    Code:
    BackgroundUploader uploader = new BackgroundUploader();
                    uploader.SetRequestHeader("Filename", file.Name);
    
                    UploadOperation upload = uploader.CreateUpload(uri, file);
    
                    HandleUploadAsync(upload, true);
    Und der mit dem BackgroundUploader ausgegebene Fiddler-Trace:

    HTTP/1.1 200 Fiddler Generated
    Date: Thu, 08 May 2014 16:44:59 GMT
    Content-Type: text/html; charset=UTF-8
    Connection: close
    Cache-Control: no-cache, must-revalidate
    Timestamp: 18:44:59.928

    <!doctype html>
    <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Fiddler Echo Service</title></head><body style="font-family: arial,sans-serif;"><h1>Fiddler Echo Service</h1><br /><pre>POST / HTTP/1.1
    Accept: */*
    Filename: WP_20140507_001.jpg
    Accept-Encoding: gzip, deflate
    User-Agent: Mozilla/5.0 (Windows Phone 8.1; ARM; Trident/7.0; Touch; rv:11.0; IEMobile/11.0; Microsoft; Virtual) like Gecko
    Host: localhost:8888
    Content-Length: 21762
    Connection: Keep-Alive
    Cache-Control: no-cache
    Mfg
    0
     

  9. 10.05.2014, 13:05
    #9
    War das beide Male dasselbe Bild? Beim BackgroundUploader ist die ContentLenngth ja viel geringer (für ein Bild überhaupt sehr Mini). Kann es sein dass man das hochzuladende Bild mit einer anderen URI-Prefix an das Service übergeben muss? Für mich schauts ja grad überhaupt so aus als würden die Daten beim BackgroundService Trace einfach fehlen.
    0
     

  10. Also das Bild, welches mit dem BackgroundUploader hochgeladen wurde, ist tatsächlich viel kleiner, das stimmt allerdings
    so, da es sich dabei nur um ein erstelltes "Foto" aus dem Emulator heraus handelt, das passt also. Allerdings hast du
    Recht, da scheinen einige Angaben einfach zu Fehlen, ich kann mir das allerdings nicht erklären. Habe ebenfalls schon
    versucht, gewisse Headerdaten noch mitzugeben, leider ohne Erfolg.

    Mfg
    0
     

  11. Nun habe ich mithilfe von SetRequestHeader versucht, die Headerdaten anzupassen, diese werden so auch gesendet, jedoch immernoch kein Erfolg bei der Datenübertragung.

    Mfg
    Mit der kostenlosen PocketPC.ch App von meinem RM-937_eu_euro2_936 aus geschrieben.
    0
     

  12. Bisher hatte ich leider immernoch keinen Erfolg. Hat mir noch jemand einen Tip?

    Mfg
    Mit der kostenlosen PocketPC.ch App von meinem RM-937_eu_euro2_936 aus geschrieben.
    0
     

Ähnliche Themen

  1. Hilfe, SPV ÄRGER!!!!
    Von tom im Forum Plauderecke
    Antworten: 27
    Letzter Beitrag: 23.05.2003, 19:36
  2. Hilfe! Casio E-125 startet nicht mehr?!!
    Von rdkay im Forum Plauderecke
    Antworten: 4
    Letzter Beitrag: 16.05.2003, 15:47
  3. Hilfe... Offizieller Unlock funkt. nicht!!!!!
    Von Klotenjames im Forum Plauderecke
    Antworten: 5
    Letzter Beitrag: 18.04.2003, 13:35
  4. hilfe nur noch sonnenuntergang
    Von rigo26 im Forum Plauderecke
    Antworten: 7
    Letzter Beitrag: 09.03.2003, 19:38
  5. Hilfe kein Bluetooth Manager mehr!
    Von frenzi im Forum Plauderecke
    Antworten: 4
    Letzter Beitrag: 10.01.2003, 12:15

Besucher haben diese Seite mit folgenden Suchbegriffen gefunden:

wp8.1 backgrounduploader http post

windows phone 8.1 backgroundUploader

wp8.1 background uploader