使用 Graph API 将图像上传到 Sharepoint 不包含任何内容 (.NET)

Uploaded Image to Sharepoint using Graph API contains no Content (.NET)

我已经使用以下方法将文件(docx、xlsx)上传到我们的共享点。 现在我正在尝试将图像(png、jpg)上传到同一个库。将图像作为流上传时我没有收到任何错误。 此图像也没有可用的预览,我无法下载它。创建的共享点文件如下所示: uploaded sharepoint image

我还尝试使用 HeaderOptions 列表并将内容类型设置为“image/png”。

我的流包含流和图像格式。我能够将我的流转换回图像并将其保存到我的文件系统。所以我认为这不取决于我的流和流内容。由于我的功能可以与 docx 文件一起正常工作,我也认为它不符合任何权限或连接主题...

这是我的上传功能:

    Public Async Function createImageUploadAsync(Stream As Stream, DriveItemID As String, Rootpath As String, filename As String) As Task(Of String)
    Dim FileId As String = ""
    Try

        'Dim Option As List(Of HeaderOption) = New List(Of HeaderOption) From {
        '    New HeaderOption("Content-Type", "image/png")
        '    }
        Dim ms As MemoryStream = New MemoryStream

        If _GraphClient IsNot Nothing Then
            Dim uploadedfile = Await _GraphClient.Sites(__DAL.SiteID).Lists(DriveItemID).Drive.Root.ItemWithPath(Rootpath + filename).Content.Request().PutAsync(Of DriveItem)(Stream)

            FileId = uploadedfile.id
        End If
    Catch ex As Exception
        If __DAL.Testbetrieb Then Stop
        __Prot.Err(ex, True)
    End Try
    Return FileId

End Function

为什么我上传的图片是空的,你有什么建议吗?

以防其他人遇到同样的问题...

经过数小时的研究和测试,我找到了解决问题的方法:

您可以将 PDF、Word 和 Excel 文件作为 MemoryStream 上传,正如我在上面解释的那样。但是您不能将图像作为 MemoryStream 上传。您必须将图像读取为 FileStream,然后您可以以相同的方式上传它。