我正在尝试将一个文件从我的应用程序网站上传到sharepoint列表中,但是当我试图用文件打开/读取文件时,我遇到了一些问题。
我的代码:
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();构建spContext.SPAppWebUrl.ToString();变量,该变量将app的值分配给一个变量,该变量与文件名的硬编码文件路径和用户输入一起构成了我要上传的文件的位置。
唯一的问题是,当我打开我的文件时,using (var stream = System.IO.File.OpenRead("https://mysite.sharepoint.com/sites/dev/appweb/document-library/fileFolder/image.png"))有一个问题,因为我的应用程序web url中的"https://.....“中的分号是非法字符。
有没有办法不使用完整的url就可以访问该文件?我确实尝试过从我的url中删除"https://“”,但是我认为sharepoint上下文需要一个安全的连接,并且我得到了一个访问被拒绝的错误。
发布于 2015-03-20 00:10:55
您正在使用错误的方法或参数打开文件-查看File.OpenRead的文档-它只打开本地文件。
您需要使用HTTP方法(如WebClient/WebRequest)读取流,或者上传本地文件。
https://stackoverflow.com/questions/29137239
复制相似问题