Pergunta

Eu tenho um requisito para ser capaz de incorporar digitalizada tiff imagens em alguns relatórios SSRS.

Quando eu criar um relatório no VS2005 e adicionar um controle de imagem a imagem TIFF é exibido perfeitamente no entanto, quando eu construí-lo. I receber o aviso:

Warning 2 [rsInvalidMIMEType] The value of the MIMEType property for the image ‘image1’ is “image/tiff”, which is not a valid MIMEType. c:\SSRSStuff\TestReport.rdl 0 0

e em vez de uma imagem que eu obter o pouco de vermelho x.

Alguém superar esse problema?

Foi útil?

Solução

Assumindo que você está entregando o arquivo de imagem via IIS, use uma página ASP.NET para formatos de imagem de mudança e tipo mime para algo que você pode uso.

Response.ContentType = "image/png";
Response.Clear();
using (Bitmap bmp = new Bitmap(tifFilepath))
  bmp.Save(Response.OutputStream, ImageFormat.Png);
Response.End();

Outras dicas

Eu tenho goggling solução fóruns sobre como exibir uma imagem TIFF em um relatório SSRS, mas eu não poderia encontrar qualquer e, desde TIFF apoio do SSRS doesn, eu pensei que converter o TIFF para um dos formatos suppported irá fazer o truque. E ele fez. Eu não sei se existem implementação similar como este lá fora, mas eu estou apenas postando para que outros possam beneficiar também. Nota isto só se aplica se você tiver uma imagem TIFF salvos no banco de dados.

Public Shared Function ToImage(ByVal imageBytes As Byte()) As Byte()
    Dim ms As System.IO.MemoryStream = New System.IO.MemoryStream(imageBytes)
    Dim os As System.IO.MemoryStream = New System.IO.MemoryStream()
    Dim img As System.Drawing.Image = System.Drawing.Image.FromStream(ms)

    img.Save(os, System.Drawing.Imaging.ImageFormat.Jpeg)

    Return os.ToArray()
End Function

Veja como você pode usar o código: 1. Nas propriedades do relatório, selecione Refereneces, clique em Adicionar e System.Drawing browse, versão = 2.0.0.0 2. Selecione a propriedade código, copie colar a função acima 3. Clique em Ok 4. Solte um controle de imagem da caixa de ferramentas 4.1. Direito do mouse na imagem e selecione Propriedades da Imagem 4.2. Defina a Image Source to Database 4.3. No Use esse campo, clique expressão e cole o código abaixo = Code.ToImage (! FormImage.Value Fields)
4.4. Defina o Mime apropriado para Jpeg

Saudações, Fulbert

Peter seu código não compilar mas a idéia era de som.

Aqui é a minha tentativa que funciona para mim.

protected void Page_Load(object sender, EventArgs e)
{
    Response.ContentType = "image/jpeg";
    Response.Clear();        
    Bitmap bmp = new Bitmap(tifFileLocation);
    bmp.Save(Response.OutputStream, ImageFormat.Jpeg);
    Response.End();

}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top