Mon application modifie un fichier dans SharePoint via Web Client/WebDAV (redirection WebDAV).Comment puis-je procéder au départ/arrivée ?

StackOverflow https://stackoverflow.com/questions/537990

  •  22-08-2019
  •  | 
  •  

Question

J'intègre mon application pour qu'elle puisse éditer les fichiers stockés dans SharePoint.J'utilise le service client Web AKA WebDAV Redirector (webclnt.dll) qui fait un excellent travail en permettant aux appels API Windows CreateFile/lecture/écriture normaux d'être redirigés de leur chemin d'E/S de lecteur normal vers le réseau via WebDAV.Cependant, je ne peux accéder au fichier en lecture seule que s'il est archivé.

À l'aide du service Client Web, comment puis-je faire en sorte que le fichier soit extrait lorsque je le modifie, puis qu'il soit archivé lorsque j'ai fini de le modifier ?

Modifier:J'ai essayé d'utiliser GetFileAttributes et SetFileAttributes pour tester FILE_ATTRIBUTE_READONLY, en espérant pouvoir utiliser cet indicateur pour déterminer quand le fichier n'a pas été extrait, puis pour l'extraire (en désactivant cet indicateur pour l'extraire, puis en le définissant pour le vérifier dans).Pas de chance là-bas ;le fichier apparaît toujours comme n'étant pas en lecture seule.

Était-ce utile?

La solution

Eh bien, pour effectuer l'archivage/extraction d'un fichier, vous devez utiliser le code suivant :

SPSite oSite = new SPSite ("http://<sitename>/");
SPWeb oWeb = oSite.OpenWeb(); 
SPList oList = oWeb.Lists["Shared Documents"];
SPListItem oListItem = oList.Items[0]; //taking the first list item
oListItem.File.CheckOut();
oListItem["Name"] = "xyz";           
oListItem.Update();
oListItem.File.CheckIn("file name has been changed");

Si vous devez effectuer l'enregistrement/le départ via SharePoint WebService, vous devriez jeter un œil au code sur le blog de Brad McCable sur Exemple de service Web Windows Sharepoint Services.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top