none
cargar a file con MetaData - Sharepoint RRS feed

  • Pregunta

  • Sennores,

    Una consulta espero puedan ayudarme. Estoy cargando unos archivos documento a la libreria de documentos de sharepoint con metadata, sin metadata trabaja bien ..pero com metadata carga el documento pero no adiciona la columna de metadata y no recibo ningun error, es decir no tengo una pista para rastrear el problema, por favor alguna idea al respecto?

    esta es la rutina com metadata

        public static void routine2(string filereadedTemp) 
            {
                var sp = new SPSite("http://localhost/");
                var site = sp.OpenWeb();
                var folder = site.GetFolder("Shared Documents");
                var files = folder.Files;
    
                try
                {
                    // Opening a fileStream
                    var fStream = File.OpenRead(filereadedTemp); // return System.IO.FileStream
                    var contents = new byte[fStream.Length];
                    fStream.Read(contents, 0, (int)fStream.Length);
                    string filename = System.IO.Path.GetFileName(filereadedTemp);   // return 59286.doc
                    fStream.Close();
    
                    // adding any metada needed 
                    var documentMetadata = new Hashtable{ { "Comments", "Hello world" } };
                    var documentMetadata2 = new Hashtable { { "Comments2", "Hello world2" } };
    
    
                    // adding the file to the SPFileCollection;
    
                    var currentFile = files.Add("Shared Documents/" + filename, contents, documentMetadata, true);
                    var currentFile2 = files.Add("Shared Documents/" + filename, contents, documentMetadata2, true);
    
    
                    site.Dispose();
                    sp.Dispose();
    
                }
                catch (Exception ex)
                {
                    Console.WriteLine("routine2  Exception ");
                    Console.WriteLine(ex);
                }
    
            }

    Esta es otra rutina sin metadata, como haria si deseo adicionar metadata en este ejemplo?

            private static void upLoadSharepointDocumentLibrary(string filereadedTemp)
            {
                // http://acres.dev.rockyview.local/sites/Mainapp/Documents/
    
                string sharePointSite = "http://localhost/";
                string documentLibraryName = "Shared%20Documents";
    
                try
                {
                    SPSecurity.RunWithElevatedPrivileges(delegate()
                      {
                          using (SPSite oSite = new SPSite(sharePointSite))
                          {
                              using (SPWeb oweb = oSite.OpenWeb())
                              {
                                  if (!System.IO.File.Exists(filereadedTemp))
                                      throw new FileNotFoundException("File not found.", filereadedTemp);
    
                                  SPFolder myLibrary = oweb.Folders[documentLibraryName];
    
                                  // Prepare to upLoad
                                  Boolean replaceExistingFiles = true;
                                  string filename = System.IO.Path.GetFileName(filereadedTemp);   // return 59286.doc
                                  FileStream fileStream = File.OpenRead(filereadedTemp);          // return System.IO.FileStream
    
                                  // UpLoad document
                                  SPFile spfile = myLibrary.Files.Add(filename, fileStream, replaceExistingFiles);
    
                                  // Commit
                                  myLibrary.Update();
                              }
                          }
                      });
                }
                catch (Exception ex)
                {
                    Console.WriteLine(" ** Error at upLoadSharepointDocumentLibrary Routine.. ** ");
                    Console.WriteLine(ex);
                }
            }

    Gracias, espero me puedan ayudar con alguna idea, aun no entiendo el concepto claramente.

    Saludos,

    Ismael.

    viernes, 2 de agosto de 2013 20:17

Todas las respuestas

  • Gracias Señores, encontre el problema.

    viernes, 2 de agosto de 2013 22:30
  • Hola.

    ¿Podrías poner la solución para que otros usuarios la encuentren si les sucede lo mismo?


    "En los momentos de crisis, sólo la imaginación es más importante que el conocimiento"
    MCTS | SharePoint 2010, Application Development
    MCTS | SharePoint 2010, Configuring
    MS | Programming in HTML5 with JavaScript and CSS3 (MS), Developing ASP.NET MVC 4 Web Applications
    Twitter | @saintwukong

    jueves, 8 de agosto de 2013 9:33
    Moderador