Je suis un peu en difficulté ici. Voici le contexte:Bibliothèque de documents Sharepoint stockant des fichiers sur le système de fichiers
Un de nos clients nous a demandé de développer une solution alternative pour stocker des documents d'une bibliothèque de documents dans la base de données de contenu car leur base de données de contenu croît trop vite. Ils nous ont fourni un stockage réseau afin que les documents puissent être stockés dans le système de fichiers à la place. Après googling un peu, j'ai trouvé une fonctionnalité appelée Remote Blob StorageRBSRBS, mais comme le disent les références, il s'agit d'une fonctionnalité par base de données contenu qui n'est pas acceptable pour le contexte. L'autre option que je suis venu avec l'utilisation de SPItemEventReceiver de telle sorte que dans le ItemAdded événement que je pouvais sauver le SPFile associée à la ListItem des SPItemEventProperties propriété du système de fichiers et peut-être supprimer ou tronquer l'objet SPFile
public static void DeleteAssociatedFile(SPWeb web, SPListItem item)
{
try
{
if (item == null) { throw new ArgumentNullException("item"); }
if (item.FileSystemObjectType == SPFileSystemObjectType.File)
{
web.AllowUnsafeUpdates = true;
using (var fileStream = item.File.OpenBinaryStream())
{
if (fileStream.CanWrite)
{
fileStream.SetLength(0);
}
}
item.File.Update();
}
}
catch (Exception ex)
{
// log error message
Logger.Unexpected("ListItemHelper.DeleteAssociatedFile", ex.Message);
throw;
}
finally
{
web.AllowUnsafeUpdates = false;
}
}
en le forçant à ne pas stocker son contenu dans la base de données de contenu. Mais ça n'a pas marché. Chaque fois que je parviens à supprimer ou à tronquer le fichier SPFile associé à ListItem, l'élément ListItem est supprimé de la bibliothèque de documents ou le fichier n'est pas affecté par la modification. Ma question est la suivante: existe-t-il une solution à ce problème? D'autres pensées qui pourraient m'aider dans cette quête?
Merci d'avance!
Nous vous remercions de vos commentaires. Est-ce que vous faites une copie du formulaire de téléchargement ** _ layouts ** et que vous l'utilisez pour répondre à mes besoins? –