1

ユーザーが画像をアップロードするギャラリーのあるページがあります。3つのtiff画像をアップロードした特定のユーザーが1人いて、それらにアクセスできないことに気づきました。

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

それはここで起こります:

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

ファイルは問題ないようです。File.ReadAllBytes()は機能します。他の方法を使用してファイルをダウンロードし(機能しないものはサイズ変更された画像を返すためにのみ使用されます)、ローカルでテストしても例外はスローされません。どんなアイデアがありますか?残念ながら、これが他のユーザーによってアップロードされたすべてのtiff画像でも発生するかどうかはまだわかりません。

4

1 に答える 1

1

TIFFフレーバーのサポート(およびそれらの多くがあります)は、サーバー上のWindowsのバージョンによって異なります。より正確には、GDI+ライブラリのバージョンによって異なります。

TIFFを見なければ、私に言えることは何もありません。ただし、TIFFファイル専用のサードパーティライブラリを試すことをお勧めします。デファクトスタンダードのlibtiffライブラリがあり、私はそれをC#に移植しました。ポートを試してみてください。

興味があるかもしれないいくつかのサンプルがあります。カラーTIFFを32ビットのSystem.Drawing.Bitmapに変換することがあなたのタスクに最も適していると思います。

于 2012-05-10T14:52:27.273 に答える