Я могу загрузить документ на sharepoint (Office 365) с помощью CSOM.См. Ниже код:
Dim filePath As String = "C:\temp\Testfile.txt"
Dim LibraryName = "Documents"
Dim siteURL = "https://myCompany.sharepoint.com/MySite/"
Dim fileName = "Testfile"
Dim serverURL As String
Dim passWord As New System.Security.SecureString
For Each fern As String In "Password123"
passWord.AppendChar(fern)
Next
Using ct As New ClientContext(siteURL)
ct.Credentials = New SharePointOnlineCredentials("username@myCompany.onmicrosoft.com",
passWord)
Dim web = ct.Web
Dim myLibrary = web.Lists.GetByTitle(LibraryName)
Dim folder = myLibrary.RootFolder
ct.Load(folder, Function(f) f.ServerRelativeUrl)
ct.ExecuteQuery()
serverURL = folder.ServerRelativeUrl
End Using
Dim fs As New FileStream(filePath, FileMode.Open, FileAccess.Read)
Dim ct2 As New ClientContext(siteURL)
ct2.Credentials = New SharePointOnlineCredentials("username@myCompany.onmicrosoft.com",
passWord)
Microsoft.SharePoint.Client.File.SaveBinaryDirect(ct2, serverURL + "/" + System.IO.Path.GetFileName(filePath), fs, True)
ct2.Load(file)
ct2.ExecuteQuery()
Однако мне также нужно сохранить путь к файлу в базе данных.Целью может быть что угодно, например, предоставление URL для загрузки в будущем или просто его отображение.
Теперь URL с сайта Sharepoint: https://mycompany.sharepoint.com/siteName/Documents/MyFile.txt
, но если мы скопируем URL с сайтавручную это выглядит так: https://mycompany.sharepoint.com/:w:/g/siteName/Esdesdsweeebjhmbgdbgvxchm63fn6jkoss5t8u4r3ew2j7e?e=trWePO
Должны ли мы хранить простой читаемый человеком путь в БД?если да, сможем ли мы предоставить функции загрузки / просмотра, используя этот URL?Если мы решили сохранить второй формат, то как его получить?есть ли какие-либо ссылки доступны?
Спасибо