microsoftgraph / microsoftgraph/msgraph-sdk-php

Unable to send large attachment: LargeFileUploadTask and headers

Offen Anfängerfreundlich
#1,794 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
PHP
Sterne
669
Forks
150
Ø Merge
15 Std. 21 Min.
Gemergte PRs (30 T.)
3

Beschreibung

Unable to upload large attachment. In the file Microsoft\Kiota\Abstractions\RequestHeaders, the array_keys function is used, which casts a string to a number. PHP 8.4 on x64 does this.

In the getAll method, it is cast and then an error is returned: Since guzzlehttp/psr7 2.11: Passing int to GuzzleHttp\Psr7\Request::__construct() is deprecated; guzzlehttp/psr7 3.0 requires string|string[].

Instead of array_keys, you must use foreach.

A method with array_keys that casts string to int.

public function getAll(): array
{
    $result = [];
    foreach ($this->headers as $key => $value) {
        $result[$key] = array_keys($value);
    }
    return $result;
}

A method with foreach that works.

public function getAll(): array
{
    $result = [];
    foreach ($this->headers as $key => $value) {
        foreach ($value as $k => $v) {
            $result[$key][] = strval($k);
        }
        //$result[$key] = array_keys($value);
    }
    return $result;
}

After this change, sending large attachments works.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginnen Sie in Microsoft\Kiota\Abstractions\RequestHeaders und untersuchen Sie die getAll-Methode, insbesondere deren array_keys-Verarbeitung von Header-Werten. Reproduzieren oder überprüfen Sie den Upload-Pfad für große Anhänge mit PHP 8.4 und bestätigen Sie, dass getAll String-Header-Schlüssel zurückgibt und große Anhänge ohne die Guzzle request deprecation gesendet werden können.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
php
Bereich
api
Issue-Typ
Bug
Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Aktivitätsstatus
Ruhig
Klarheit
Klar beschrieben
Anfängerfreundlichkeit
68/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.