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
- 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.
- 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.
- Si tiene problemas corriendo la aplicación bajo una configuracion de x86, cambien el Project Platform Target a x64 (Project-> NameProject Properties -> Build)
Advertisement





