2017-03-06 9 views
0

ファイルTIF 934メガバイトをアップロードするとき私たちは、次のエラーを取得していますC#の.NET: - (1 930513672の要素)カスタムタグバイナリオブジェクトにメモリを割り当てることができませんでした

Failed to allocate memory for custom tag binary object (930513672 elements of 1 in .

私のWebコンフィグ設定は次のとおりです。 -

<httpRuntime executionTimeout="6000000" maxRequestLength="5242880" useFullyQualifiedRedirectUrl="false" minFreeThreads="8" minLocalRequestFreeThreads="4" requestValidationMode="2.0" appRequestQueueLimit="100" enableVersionHeader="true" /> 
<system.webServer> 

MagickCode:

StringBuilder ext = new StringBuilder(); 
ext.Append(Path.GetExtension(destination_path)); 

MagickReadSettings setting = new MagickReadSettings(); 
setting.Density = new Density(20, 20); 
setting.ColorSpace = ColorSpace.RGB; 

using (MagickImage first = new MagickImage(filetoconvert, setting)) 
{ 
    first.Quality = 300; 
    first.Trim(); 
    first.Write(destination_path); 
    first.Dispose(); 
} 

<security> 
    <requestFiltering> 
     <requestLimits maxAllowedContentLength="2147483648" /> 
    </requestFiltering> 
</security> 
+0

これは、ライブラリではないのC#/ CLRにより、例外投げで –

答えて

-1

それはあなたの問題はFiのアップロードに関係しているようには見えません。したがって、maxAllowedContentLengthなどは本当に重要ではありません。エラーは、画像をMagickImageに水和することにありますか?

私は基本的に同じ問題を抱えていましたが、はるかに小さい.TIFFファイル(< 200MB)です。私はMagickImageを処分する方法にいくつかの問題を抱えていましたが、それらを解決したときに私が受け取ったエラーはTIFFエラー572でした。私はDirk Lemstraと簡単にやり取りしました。

私のコードは任意のCPUにビルドされていましたが、32ビットが優先されました。それをオフにするか、x64にビルドすると問題が解決しました。 IIS Expressがデバッグモードで失敗したため、デフォルトでIIS Expressが32ビットで動作するため、Visual Studio(ツール - オプション - プロジェクトとソリューション)で有効にする必要があります。

おかげ

関連する問題