访问位于 Sharepoint 列表中的文件

Accessing File Located in Sharepoint List

我正在尝试将文件从我的应用程序网络上传到共享点列表,但在尝试使用文件流 open/read 文件时遇到了一些问题。

我的代码:

    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 变量,它将应用程序网络的值分配给一个变量,该变量连同硬编码文件路径和用户输入的文件名构成了我的位置我要上传的文件。

唯一的问题是,当我要打开我的文件时,using (var stream = System.IO.File.OpenRead("https://mysite.sharepoint.com/sites/dev/appweb/document-library/fileFolder/image.png")) 由于我的应用程序网络 url 中 "https://....." 中的分号是一个问题非法字符。

有什么方法可以在不使用完整 url 的情况下访问该文件?我确实尝试了 trim 来自 url 的 "https://",但我认为共享点上下文需要安全连接,但我收到拒绝访问错误。

您使用错误的方法或参数打开文件 - 查看 File.OpenRead 的文档 - 它只打开本地文件。

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