Agregar archivos a un Sharepoint Document Library desde C#


Gracias al Sharepoint Library para .Net.  Tenemos la posibilidad de editar el contenido de un Website desde C#.  Podemos hacer muchas cosas entre ellas subir archivo hasta editar valores de un List con solo pocas lineas de código.  Esta vez voy a mostrar como subir un archivo a un Document Library que tengamos en nuestro sitio.

Para ello hay que importar

using Microsoft.SharePoint;

Si tienes problemas, como que no te reconoce el library,  intenta agregar la referencia de Sharepoint al proyecto.

 Click Derecho -> Add Reference ->  tab .NET

El código es el siguiente:

SPWeb webSite;
SPFolder mylibrary;

siteCollection = new SPSite("http://servidor:puerto/");
webSite = siteCollection.OpenWeb();
mylibrary = webSite.Folders["Documents 2"];
webSite.AllowUnsafeUpdates = true;
String fileURl = "http://servidor:puerto/Documents%202/fileName.txt";
FileStream fstream = File.OpenRead("C:\fileName.txt");

byte[] content = new byte[fstream.Length];

fstream.Read(content, 0, (int)fstream.Length);

fstream.Close();

try
{
mylibrary.Files.Add(fileURl, content);
}
catch (SPException a)
{
/*Lo que quiera hacer*/
}
catch (Exception b)
{
/*Lo que quiera hacer*/
}

Tips

  1. Observen que fileURl es el URL del archivo en la web, entonces debe remplazar %20 por los espacios en blanco. Yo recomiendo no dejar espacios en blanco. Lo hice con fines ilustrativos.
  2.  Asegure que el tipo de proyecto este seteado a  .Net Framework 3.5 (Project-> NameProject Properties -> Application). Con versiones mas nuevas aun no esta funcionando.
  3. Si tiene problemas corriendo la aplicación bajo una configuracion de x86, cambien el Project Platform Target a x64 (Project-> NameProject Properties -> Build)

, ,

  1. #1 por Web link el septiembre 15, 2012 - 7:04 pm

    Very nice post. I just stumbled upon your weblog and wished to say that I’ve truly enjoyed browsing your blog posts. In any case I’ll be subscribing to
    your feed and I hope you write again very soon!

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: