none
Como Trabalhar Dentro do Evento de Upload? RRS feed

  • Pergunta

  • Boa tarde a todos.

    Sou desenvolvedor e comecei há pouco tempo na área do SharePoint. Eu preciso efetuar o upload de arquivos de forma que eles sejam migrados para OpenXML (Ex.: upar teste.doc e salvar no banco teste.docx). Eu já criei uma aplicação web que efetua tal conversão, porém sei que o SP tem suas próprias regras de salvamento em banco e não quero mexer diretamente nelas. Gostaria de saber se há alguma possibilidade de efetuar mudanças no código da página Upload.aspx já existente dentro do SP ou até mesmo se tenho como colocar dentro da minha própria página o trabalho efetuado pela Upload.aspx no disparo do evento de carregamento do arquivo para o banco de dados. Isso tem que ficar transparente ao usuário.

    Alguém pode me ajudar?

    Muito obrigado desde já!
    terça-feira, 17 de junho de 2008 18:20

Respostas

  • Fala Thiago blz ?

     

      Seguinte o SharePoint tem seus proprios mecanismos para lidar com Dados. A base do desenvolvimento sob o SharePoint é uma Lista ou seja tudo no SharePoint ou é, ou deriva de uma Lista, sendo assim vc pode sim fazer o UpLoad dos documentos como vc deseja.

      Até onde entendi vc tem diversos documentos e deseja os salvar certo ? Sendo assim vc tem duas auternativas.

     

    1- Criar uma Lista, criar um SPListItem e anexar o documento nesse ListItem, ficaria assim :

     

    Code Snippet

    // Instancia o Root Site

    using (SPSite site = new SPSite(""))

    {

    // Instancia a Root Web, Supondo que vc tenha criado a lista na RootWeb

    using(SPWeb web = site.RootWeb)

    {

    SPList list = web.Lists[""];

    SPListItem Item = list.Items.add();

    Item.Attachments.Add("Nome do Arquivo.ext", );

    }

    }

     
    2- Criar uma Document Library de acordo com o tipo do Arquivo a ser "UpLoadado" e proceder da seguinte forma :
     

    Code Snippet

    // Instancia o Root Site

    using (SPSite site = new SPSite("<URLdoSEUportal>"))

    {

    // Instancia a Root Web, Supondo que vc tenha criado a lista na RootWeb

    using(SPWeb web = site.RootWeb)

    {

    SPDocumentLibrary list = web.Lists["<Nome da sua Lista>"] as SPDocumentLibrary ;

    SPFolder Folder = list.RootFolder;

    Folder.Files.Add("Nome do Arquivo.ext", <Array Bytes do Arquivo>);

    }

    }

     

     

    Se a duvida persistir poste novamente.

     

    links de referencia de precisar acesse :

     

    http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.splist.aspx

    http://msdn.microsoft.com/en-us/library/ms954724(office.12).aspx

    http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.splistitem.aspx

    http://msdn.microsoft.com/en-us/library/ms998256.aspx

     

    Abraço.

    quarta-feira, 25 de junho de 2008 13:53

Todas as Respostas

  • Ninguém??????? Sabem me dizer se pelo menos isso é possível??????????????
    quinta-feira, 19 de junho de 2008 18:04
  • Fala Thiago blz ?

     

      Seguinte o SharePoint tem seus proprios mecanismos para lidar com Dados. A base do desenvolvimento sob o SharePoint é uma Lista ou seja tudo no SharePoint ou é, ou deriva de uma Lista, sendo assim vc pode sim fazer o UpLoad dos documentos como vc deseja.

      Até onde entendi vc tem diversos documentos e deseja os salvar certo ? Sendo assim vc tem duas auternativas.

     

    1- Criar uma Lista, criar um SPListItem e anexar o documento nesse ListItem, ficaria assim :

     

    Code Snippet

    // Instancia o Root Site

    using (SPSite site = new SPSite(""))

    {

    // Instancia a Root Web, Supondo que vc tenha criado a lista na RootWeb

    using(SPWeb web = site.RootWeb)

    {

    SPList list = web.Lists[""];

    SPListItem Item = list.Items.add();

    Item.Attachments.Add("Nome do Arquivo.ext", );

    }

    }

     
    2- Criar uma Document Library de acordo com o tipo do Arquivo a ser "UpLoadado" e proceder da seguinte forma :
     

    Code Snippet

    // Instancia o Root Site

    using (SPSite site = new SPSite("<URLdoSEUportal>"))

    {

    // Instancia a Root Web, Supondo que vc tenha criado a lista na RootWeb

    using(SPWeb web = site.RootWeb)

    {

    SPDocumentLibrary list = web.Lists["<Nome da sua Lista>"] as SPDocumentLibrary ;

    SPFolder Folder = list.RootFolder;

    Folder.Files.Add("Nome do Arquivo.ext", <Array Bytes do Arquivo>);

    }

    }

     

     

    Se a duvida persistir poste novamente.

     

    links de referencia de precisar acesse :

     

    http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.splist.aspx

    http://msdn.microsoft.com/en-us/library/ms954724(office.12).aspx

    http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.splistitem.aspx

    http://msdn.microsoft.com/en-us/library/ms998256.aspx

     

    Abraço.

    quarta-feira, 25 de junho de 2008 13:53
  • Obrigado pela dica, Sérgio.

     

    Eu consegui efetuar a programação do upload de arquivos, porém não estou conseguindo colocar a aplicação web dentro do Sharepoint! Eu tentei alguns tutoriais que encontrei em pesquisas mas nada deu certo ainda. Tem alguma receita de bolo que eu possa seguir?

     

    quarta-feira, 25 de junho de 2008 15:37
  • Cara,

     

    O que especificamente vc deseja colocar no SharePoint ?

     

    Vai algumas dicas:

     

    O SharePoint Cria um Diretório virtual no ISS para cada WebApplication que ele cria... Tocando em Miudos cada SPSite esta mapeado no IIS. Sendo assim vc pode muito bem colocar qualquer pagina que vc fez sob essa estrutura.

     

    O certo séria vc integrar essa pagina ASPX com o Sharepoint, para tal observe o Link Abaixo :

     

    http://msdn.microsoft.com/en-us/library/bb418732.aspx

     

    Nele é demonstrado como herdar a masterpage do SharePoint na sua Pagina.

     

    Espero ter ajudado.

     

    Se a duvida persistir poste novamente.

     

    Abraço.

     

     

     

    quarta-feira, 25 de junho de 2008 20:11