2012-05-10 2 views
1

사용자가 이미지를 업로드하는 갤러리가있는 페이지가 있습니다. 3 명의 Tiff 이미지를 업로드 한 특정 사용자가 있으며 액세스 할 수없는 것으로 나타났습니다.tiff 이미지에서 비트 맵 객체 만들기

Exception type: System.ArgumentException 
Exception message: Parameter is not valid. 

여기에 발생합니다

using (Image photo = new Bitmap(new MemoryStream(photoData))) 

파일이 File.ReadAllBytes()가 작동 마부, 나는 다른 방법을 사용하여 다운로드 할 수 있습니다 (작동하지 않는 사람은 크기를 조정할 반환에 사용되는 괜찮을 것 같다 이미지 전용), 로컬에서 테스트하고 예외가 throw되지 않습니다. 어떤 아이디어가 그럴 수 있습니까? Unfortunatelly 나는 이것이 다른 사용자가 업로드 한 모든 tiff 이미지에도 발생하는지 아직 알지 못합니다.

답변

1

TIFF Flavors에 대한 지원은 서버의 Windows 버전에 따라 다릅니다. 보다 정확하게는 GDI + 라이브러리 버전에 따라 다릅니다.

TIFF를 보지 않고도 더 이상 말할 수있는 것이 없습니다. 그러나 TIFF 파일 용으로 타사 라이브러리를 사용해 볼 것을 권장합니다. 사실상 표준 인 libtiff 라이브러리가 있으며 얼마 전에 ported it to C#이 있습니다. 포트를 사용해보십시오.

관심이있을만한 샘플이 있습니다. Convert color TIFF to a 32-bit System.Drawing.Bitmap이 작업에 가장 적합 할 수도 있습니다.

+0

저는 [this] (http://bitmiracle.com/libtiff/help/convert-color-tiff-to-a-32-bit-system.drawing.bitmap.aspx) 메소드를 tiff 이미지 전용으로 사용하고 있습니다. (Windows 서버 2k8에서 실행되는 작업, win7의 작업실에서 문제가 발생했을 수 있음), 감사합니다. – matt137