Pergunta

Eu tenho uma webpart que mostra dados de documentos de um webservice.Posso usar o mesmo webservice para obter um byte[] que contém dados para uma imagem em miniatura do documento.

a imagem deve ser mostrada em um spgridview que usa um ObjectDataSource.Tudo isso acontece na mesma webpart.Se não me engano, um objeto System.Web.UI.WebControls.Image deve ser usado para mostrar a imagem em uma webpart do sharepoint.Se isso estiver correto a pergunta é:Como faço para traduzir a matriz de bytes para um System.Web.UI.WebControls.Image?

Foi útil?

Solução

Eu resolvi depois de algumas pesquisas.Aqui está minha solução.

Como meu bytearray é recebido de um webservice e não possui uma localização física no servidor, criei um.

private string ByteArrayToFile(string filename, byte[] bytearray)
{
    //set filelocation.
    string filelocation = @"C:\TempFile\ " + filename;

    //Open file for reading
    System.IO.FileStream fs = new FileStream(filelocation, FileMode.Create, FileAccess.Write);

    //Writes a block of bytes to this stream using data from the bytearray.
    fs.Write(bytearray, 0, bytearray.length);

    //Close file stream.
    fs.Close();

    //returns filelocation.
    return filelocation;
}

Neste ponto temos o arquivo em um ponto físico do servidor.Para usar a imagem e mostrá-la em um datagrid usei o seguinte link:

http://replicrux.com/2011/05/15/adding-template-column-to-spgridview.aspx

Licenciado em: CC-BY-SA com atribuição
Não afiliado a sharepoint.stackexchange
scroll top