C# 访问位于Sharepoint列表中的文件

C# 访问位于Sharepoint列表中的文件,c#,sharepoint,office365,csom,C#,Sharepoint,Office365,Csom,我正在尝试将一个文件从我的应用程序web上载到sharepoint列表,但在尝试使用filestream打开/读取该文件时遇到一些问题 我的代码: using (var stream = System.IO.File.OpenRead ("https://mysite.sharepoint.com/sites/dev/appweb/document-library/fileFolder/image.png")) { var folder = ctx.Web.Lis

我正在尝试将一个文件从我的应用程序web上载到sharepoint列表,但在尝试使用filestream打开/读取该文件时遇到一些问题

我的代码:

    using (var stream = System.IO.File.OpenRead
("https://mysite.sharepoint.com/sites/dev/appweb/document-library/fileFolder/image.png"))
    {
        var folder = ctx.Web.Lists.GetByTitle("Images").RootFolder;

        FileCreationInformation fileInfo = new FileCreationInformation();
        fileInfo.ContentStream = stream;

        stream.Seek(0, SeekOrigin.Begin);
        fileInfo.Overwrite = true;
        fileInfo.Url = "image.png";

        folder.Files.Add(fileInfo);
        ctx.ExecuteQuery();
    }
因此,我使用
spContext.SPAppWebUrl.ToString()构建
uploadFilePath
变量
将app web的值分配给一个变量,该变量与硬编码文件路径和文件名的用户输入一起构成我要上载的文件的位置

唯一的问题是,当我打开文件时,
使用(var stream=System.IO.file.OpenRead(“https://mysite.sharepoint.com/sites/dev/appweb/document-library/fileFolder/image.png“”)
由于“”中的分号出现问题https://.....“在我的应用程序中,web url是非法字符


有没有什么方法可以不使用完整的url访问该文件?我确实尝试过从我的url中删除“https://”,但我认为sharepoint上下文需要一个安全连接,因此我遇到了一个拒绝访问错误。

您使用了错误的方法或参数打开文件-签出
文件的文档。OpenRead
-它只打开本地文件


您需要使用HTTP方法(如WebClient/WebRequest)读取流或上载本地文件。

请在示例代码中使用常量值代替方法的参数,好吗?现在注释“使用(var stream=System.IO.file.OpenRead(uploadFilePath))打开我的文件”由于中的分号出现问题https://.....“非常混乱,因为不清楚哪些变量设置为”https://..." (假设您谈论的是
fileUrl
,否则就没有意义了,但还是要检查一下).@AlexeiLevenkov没问题,这更容易理解吗?感谢更新-现在很明显您使用了错误的方法或参数来打开文件-查看
文件的文档。OpenRead
-它只打开本地文件。现在还不清楚您是否使用了错误的源路径或错误的方法来获取文件流-您可能会发现回答你自己,如果没有-用这些信息更新问题。太好了,谢谢你指出这一点。我设法在System.Net.WebRequest()上找到了一些信息,我认为这些信息可以满足我的要求。如果你想在答案中弹出这些信息,我会将其标记为解决方案!