.NET Sharepoint Criar Diretório
-
20-08-2019 - |
Pergunta
Eu posso fazer upload de um arquivo para o SharePoint com o webclient como segue
using (System.Net.WebClient webclient = new System.Net.WebClient())
{
System.Net.NetworkCredential credentials = new System.Net.NetworkCredential(
Encryptor.Decrypt(ConfigurationManager.AppSettings["username"]),
Encryptor.Decrypt(ConfigurationManager.AppSettings["password"]),
ConfigurationManager.AppSettings["domain"]);
webclient.Credentials = credentials;
string path = Path.Combine("http://sharepoint.domain.com/dir", filename);
webclient.UploadData(path, "PUT", fileBytes);
}
Mas eu não sei como criar diretórios se eles não existem.
Alguma idéia de como posso fazer isso?
Obrigado, -c
Solução
O termo "Diretórios" em um site SharePoint é enganosa. A estrutura 'diretório' de um webservice SharePoint é uma estrutura virtual que está localizado nas bases de dados do SharePoint. Você precisa identificar o objeto no objeto SharePoint Modelo do 'diretório' é, por exemplo: http: //sharepoint.domain .com / dir é provavelmente um SPSite, com no site você pode ter um 'diretórios' que são SPFolders, SPLists, SPDocumentLibraries etc.
Então, se por "criar diretórios que não existem" você quer dizer na estrutura de diretórios site do SharePoint, você não será capaz de fazer com o WebClient. Você tem duas opções: Windows SharePoint Services objeto de modelo, e os Webservices SharePoint.
O modelo de objeto é certamente mais fácil de usar na minha opinião, mas vai exigir que você executar o aplicativo no mesmo servidor como o servidor SharePoint. Os Webservices são um pouco mais trabalho, mas ele permite que você usá-los remotamente.
Você vai precisar para identificar que tipo de objeto que você está tentando adicionar (por exemplo SPFolder, SPSite, SPList, SPDocumentLibrary ect.).
Há ampla documentação para usar o modelo de objeto localizado Aqui , mas se você quiser usar os webservices você precisará acessá-los nos seguintes locais:
Administration Service http://<server-url:port-number>/_vti_adm/admin.asmx
Alerts Service http://<server-url>/_vti_bin/alerts.asmx
Document Workspace Service http://<server-url>/_vti_bin/dws.asmx
Forms Service http://<server-url>/_vti_bin/forms.asmx
Imaging Service http://<server-url>/_vti_bin/imaging.asmx
List Data Retrieval Service http://<server-url>/_vti_bin/dspsts.asmx
Lists Service http://<server-url>/_vti_bin/lists.asmx
Meetings Service http://<server-url>/_vti_bin/meetings.asmx
Permissions Service http://<server-url>/_vti_bin/permissions.asmx
Site Data Service http://<server-url>/_vti_bin/sitedata.asmx
Site Service http://<server-url>/_vti_bin/sites.asmx
Users and Groups Service http://<server-url>/_vti_bin/usergroup.asmx
Versions Service http://<server-url>/_vti_bin/versions.asmx
Views Service http://<server-url>/_vti_bin/views.asmx
Web Part Pages Service http://<server-url>/_vti_bin/webpartpages.asmx
Webs Service http://<server-url>/_vti_bin/webs.asmx
Eu sugiro olhar para as listas ou serviços Document Workspace Serviços.
Espero que ajude.