Le téléchargement de fichiers de Sharepoint (WSS 3.0) de la bibliothèque de documents à l'aide de HTTP PUT
Salut j'ai le morceau de code suivant pour télécharger un fichier vers Sharepoint. Il utilise HTTP:
public static string UploadFile(string destUrl, string sourcePath)
{
try
{
Uri destUri = new Uri(destUrl);
FileStream inStream = File.OpenRead(sourcePath);
WebRequest req = WebRequest.Create(destUri);
req.Method = "PUT";
req.Headers.Add("Overwrite", "F");
req.Timeout = System.Threading.Timeout.Infinite;
req.Credentials = CredentialCache.DefaultCredentials;
Stream outStream = req.GetRequestStream();
string status = CopyStream(inStream, outStream);
if (status == "success")
{
outStream.Close();
WebResponse ores = req.GetResponse();
return "success";
}
else
{
return status;
}
}
catch (WebException we)
{
return we.Message;
}
catch (System.Exception ee)
{
return ee.Message;
}
}
Lorsque j'exécute ce code j'obtiens l'exception:
"Le serveur distant a retourné une erreur: (409) - Conflit".
Quelqu'un a une idée d'où je vais mal?
Merci,
Alex
J'ai juste été confrontés à la même question - vérifier que les Url sont valables!
C# noob demande: d'Où vient CopyStream venir?
C'est une émanation de l'CopyRiver
D'où vient le
C# noob demande: d'Où vient CopyStream venir?
C'est une émanation de l'CopyRiver
D'où vient le
CopyStream
méthode venir?
OriginalL'auteur taggers | 2009-02-27
Vous devez vous connecter pour publier un commentaire.
J'ai eu ce problème quand je faisait référence à l'url de la bibliothèque de documents et de ne pas le fichier de destination lui-même.
c'est à dire essayer http://server nom/document nom de la bibliothèque/nouveau fichier name.doc
Yup qui a fait le tour. Cheers!
OriginalL'auteur nzkarl
Aucune idée. Mais pourquoi ne pas vous d'utiliser les Appels de Procédure Distante (RPC) c'est comment j'ai l'habitude de le faire.
J'ai trouvé cet exemple qui pourrait vous aider à démarrer http://geek.hubkey.com/2007/11/upload-file-to-sharepoint-document.html
OriginalL'auteur Anders Rask
Essayer:
OriginalL'auteur Marco Dorantes
Je n'ai pas résolu mon problème, c'est pourquoi je suis ici, mais je sais pourquoi vous obtenez cette erreur.
L'erreur se produit car vous n'êtes pas un paramètre caché, mais nécessaire, sur le terrain. Dans mon cas, je n'avais pas de colonnes, et certainement aucun qui étaient nécessaires. Cependant, il y a une gestion des versions champ qui est en conflit.
Mon intention est de 1) télécharger le document, et 2) définir les métadonnées du document. 1) et 2) de se produire sur HTTP distinct des appels. Idéalement, je veux le faire en un seul appel, mais je ne sais pas comment faire.
Pour ce faire, 1) réussit, de sorte que le document s'affiche dans la bibliothèque. Puis, quand j'essaie de mettre à jour les métadonnées, c'est quand je reçois l'erreur 409.
Je suis assez sûr que j'ai d'abord besoin d'insérer une étape dans la entre 1) et 2) qui, la première, télécharge le document de la liste (ou le manifeste) qui serait, en théorie, contient des informations de versioning. Tous j'aurais besoin de faire est de définir les champs de métadonnées dont j'ai besoin, et de les envoyer vers le serveur.
Non, nous ne voulons pas utiliser l'API Sharepoint, car il n'y a pas de bibliothèques dans Java. 😉
OriginalL'auteur Andrew Jennings
Est-il une raison particulière vous ne pouvez pas utiliser l'API Sharepoint (par exemple. SPFolder.Les fichiers.Ajouter) pour télécharger le fichier? Comme suit:
http://msdn.microsoft.com/en-us/library/ms454491.aspx
OriginalL'auteur mundeep
Alex,
Ce qui est arrivé à moi aussi. Vous probable devrait en créer un autre, un autre allumé ou une bibliothèque de documents et de télécharger les fichiers de test.
Vous voudrez peut-être vérifier la variable "destUri" pour voir si il indique exactement les attendus de liste sharepoint.
Ma situation est que j'ai tout d'abord créé une bibliothèque de documents "Requrements", il y a une faute de frappe erreur, puis j'ai changé le titre de "Exigences". Vous devriez noter que sharepoint conserve encore l'URL de cette liste comme http://server:port/Requrements
C'est une exeption. Espérons que cela aide.
OriginalL'auteur tata9999