2012-01-16 4 views
0

画像を拡大縮小してPDFに追加する前に、画像が有効であることを確認するために使用しているコードがあります。基本的には:2つのColdFusionサーバーが同じコードで異なる値を返すのはなぜですか?

<cfset imgPath = "C:\uploads\images\myimage.jpg" /> 

<cfdump var="#IsImageFile(imgPath)#" /> 

私は両方のサーバーで同じ画像ファイルを持っていると私は両方のサーバで上記のコードを実行すると、1は「YES」、他のリターンが「NO」(「NO」が正しいです)を返します。どちらのサーバもColdFusion 8(バージョン8,0,1,195,765)を実行しています。 「NO」を返すのはWindows 7 64ビット版のDeveloper Editionで、もう1つはWindows 2003 SP2 32ビット版のStandard Editionです。 OSやエディションがこのような単純なコードにどのような影響を及ぼすかはわかりません。これを引き起こす原因は何ですか?

ありがとうございます。画像のテストコードの

結果:

のWindows 7(64ビット)上のDeveloper Edition:Windows 2003の(32ビット)上の

GetReadableImageFormats: BMP,GIF,JFIF,JPEG,JPEG 2000,JPEG-LOSSLESS,JPEG-LS,JPEG2000,JPG,PNG,PNM,RAW,TIF,TIFF,WBMP 

GetWriteableImageFormats: BMP,GIF,JFIF,JPEG,JPEG 2000,JPEG-LOSSLESS,JPEG-LS,JPEG2000,JPG,PNG,PNM,RAW,TIF,TIFF,WBMP 

FileExists: YES 

IsImageFile: NO 

スタンダード版:

GetReadableImageFormats: BMP,GIF,JFIF,JPEG,JPEG 2000,JPEG-LOSSLESS,JPEG-LS,JPEG2000,JPG,PNG,PNM,RAW,TIF,TIFF,WBMP 

GetWriteableImageFormats: BMP,GIF,JFIF,JPEG,JPEG 2000,JPEG-LOSSLESS,JPEG-LS,JPEG2000,JPG,PNG,PNM,RAW,TIF,TIFF,WBMP 

FileExists: YES 

IsImageFile: YES 
+0

私は今、同じ正確なファイル(オリジナルのコピーではありません)を指し示す両方のコードを持っています。私は同じ結果を得ています。 –

+0

実際、Developer EditionはIIS 7を搭載したWindows 7上で動作しています。 –

+0

デベロッパー版を使用している場合は、スタンドアロンサーバーとして実行しています。 localhost:8500、2003サーバーでII6を実行している必要がありますか?それとも、Apacheで実行していますか? –

答えて

0

ここに画像を添付(またはリンク)できますか?私は...私のシステムでは1台のMacおよびその他のWindows 2008

+0

申し訳ありませんが、それは私が共有することができない私的なイメージです。言うまでもなく、画像が有効でないことはわかっています。検証を通過すると、PDFに追加しようとするとエラーが発生します。私はちょうど1つのサーバーで有効と見なされ、別のサーバーで無効と見なされているのだろうかと思っています。 –

+0

実際に発生するエラーは何ですか? – Leigh

+0

エラーはスローされません。ページはあるサーバーで「YES」を返し、もう一方のサーバーでは「NO」を返します。 –

1

From the documentationを同じテストをやる:

画像ファイルが有効であるかどうかを判断するには、この機能を使用してください。この 関数は、イメージファイル形式が で、ColdFusionがデプロイされているサーバーでサポートされていない場合、またはイメージファイルへのパス名がnullまたは無効である場合にFalse値を返します。

それは、

は、ColdFusionがデプロイされているサーバーでサポートされている画像ファイルの形式を決定するために提案するために行くGetReadableImageFormatsGetWriteableImageFormatsを使用しています。

どのサーバーが正しいのか間違っているのか分かりませんが、問題はCFではなくサーバーによって発生しているようです。 JPGのみを読んで、おそらくベースラインですが...チェックする

他の事は、CFは、各サーバー上で実行されていることを権限ある - -

は* ImageFormats機能を取得し、それが助けかどうかを確認からあなたが得る結果を確認します手動でファイルをサーバーにコピーする場合は、ファイルへのアクセス許可が干渉する可能性があります。

0

これは単純化しているかもしれませんが、IsImageFileをFileExistsと交換すると、どちらの場合も「はい」と表示されますか?

<cfdump var="#FileExists(imgPath)#" /> 
+0

はい、そうです。ありがとうございました。 –

0

CFで使用されているJavaのバージョンを確認することができます。バージョンの違いがあり、他のバージョンよりも多くの機能があります。

関連する問題