L'obtention de l'ID de l'Élément après un REPOS de Téléchargement vers SharePoint 2013 en Ligne de la Bibliothèque de documents
Quelqu'un peut-il m'aider à relier les points entre ces fonctions. Je peux le télécharger, mais comment puis-je obtenir l'ID du fichier que je viens de téléchargé pour mettre à jour les colonnes de métadonnées sur le Fichier dans le Document hôte de la Bibliothèque?
Merci Beaucoup!
function uploadDocument(buffer, fileName) {
var url = String.format("{0}/_api/Web/Lists/getByTitle('Project Documents')/RootFolder/Files/Add(url='{1}', overwrite=true)",
_spPageContextInfo.webAbsoluteUrl, fileName);
var call = jQuery.ajax({
url: url,
type: "POST",
data: buffer,
processData: false,
headers: {
Accept: "application/json;odata=verbose",
"X-RequestDigest": jQuery("#__REQUESTDIGEST").val(),
"Content-Length": buffer.byteLength
}
});
return call;
}
function getItem(file) {
var call = jQuery.ajax({
url: file.ListItemAllFields.__deferred.uri,
type: "GET",
dataType: "json",
headers: {
Accept: "application/json;odata=verbose"
}
});
return call;
}
function updateItemFields(item) {
var now = new Date();
var call = jQuery.ajax({
url: _spPageContextInfo.webAbsoluteUrl +
"/_api/Web/Lists/getByTitle('Project Documents')/Items(" +
item.Id + ")",
type: "POST",
data: JSON.stringify({
"__metadata": { type: "SP.Data.Project_x0020_DocumentsItem" },
CoordinatorId: _spPageContextInfo.userId,
Year: now.getFullYear()
}),
headers: {
Accept: "application/json;odata=verbose",
"Content-Type": "application/json;odata=verbose",
"X-RequestDigest": jQuery("#__REQUESTDIGEST").val(),
"IF-MATCH": item.__metadata.etag,
"X-Http-Method": "MERGE"
}
});
return call;
}
OriginalL'auteur Hell.Bent | 2013-09-06
Vous devez vous connecter pour publier un commentaire.
Ajouter "?$expand=ListItemAllFields" à l'url dans votre uploadDocument fonction.
Donc
deviendra
Dans la réussite ou complète de la fonction du retour à l'appel ajax, vous devriez maintenant avoir accès aux champs de la listItem associé avec le fichier nouvellement créé. L'exemple suivant est un exemple.
Vous êtes un épargnant de vie. À l'aide de la OData développez fonctionne un régal -- mais vous devez faire une nouvelle demande pour les informations du fichier et non pas directement sur le téléchargement à la demande
Ne sais pas si c'est une faute de frappe ou si il a été changé, mais j'ai dû ajouter des "ListItem" pour le nom de la Bibliothèque dans le type de métadonnées, j'.e 'SP.Les données.Project_x0020_DocumentsListItem' au lieu de simplement 'Item'. Autre que cela, il a travaillé comme un charme.
var addedFileId = données.d.ListItemAllFields.ID;
OriginalL'auteur Aubie2