Der Versuch, eine Datei mit dem .NET SDK für Microsoft Graph hochzuladen. Hier ist der Code:.NET Graph SDK - OneDrive-Datei-Upload schlägt mit "Nicht unterstützter Segmenttyp" fehl
DriveItem file = new DriveItem()
{
File = new Microsoft.Graph.File(),
Name = filename,
ParentReference = new ItemReference()
{
DriveId = parent.ParentReference.DriveId,
Path = path + "/" + filename
}
};
var freq = _client
.Me
.Drive
.Items[parent.Id]
.Children
.Request();
// add the drive item
file = await freq.AddAsync(file);
DriveItem uploadedFile = null;
using (MemoryStream stream = new MemoryStream(data))
{
var req = _client
.Me
.ItemWithPath(path + "/" + file.Name)
.Content
.Request();
stream.Position = 0;
// upload the content to the driveitem just created
try
{
uploadedFile = await req.PutAsync<DriveItem>(stream);
}
catch(Exception ex)
{
Debug.WriteLine("File Put Error"); <<< FAILS HERE
}
}
return uploadedFile;
Eine Ausnahme von der req.PutAsync Methode ausgelöst wird, um den Byte-Array, das den Inhalt der Datei zu laden. Ich teste gerade mit einer einfachen Textdatei, die weniger als 100 Bytes groß ist. Die Ausnahme enthält die fehlerhafte Anforderung und den nicht unterstützten Segmenttyp.
Die Datei wird in OneDrive erstellt, enthält jedoch 0 Byte.
Dies funktionierte perfekt, und es hatte auch den Vorteil, die Datei zu erstellen und den Inhalt in einem einzigen Schritt hochzuladen – Sergio0694