usando uma matriz de bytes para exibir uma imagem em uma webpart do sharepoint
-
10-12-2019 - |
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?
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