2017-08-11 3 views
1

ImageProcessorでEPiServer 9サイトを設定しようとしていますが、動作させることができません。私は、次のnugetパッケージをインストールしているEPiServerが動作しないImageProcessor

:デフォルトの設定何も

ImageProcessor 
ImageProcessor.Web 
ImageProcessor.Web.Config 

が起こります。 ...設定/画像プロセッサ/ security.configで、次のカスタム設定...

<security> 
    <services> 
    <service name="CloudImageService" type="ImageProcessor.Web.Services.CloudImageService, ImageProcessor.Web"> 
     <settings> 
     <setting key="MaxBytes" value="8194304" /> 
     <setting key="Timeout" value="30000" /> 
     <setting key="Host" value="http://site.local/globalassets/"/> 
     </settings> 
    </service> 
    <service prefix="remote.axd" name="RemoteImageService" type="ImageProcessor.Web.Services.RemoteImageService, ImageProcessor.Web"> 
     <settings> 
     <setting key="MaxBytes" value="4194304" /> 
     <setting key="Timeout" value="3000" /> 
     <setting key="Protocol" value="http" /> 
     </settings> 
     <whitelist> 
     </whitelist> 
    </service> 
    </services> 
</security> 

と...それは私のイメージのサイズを変更しようとしている画像プロセッサのように思えるが、私はエラーの下に取得

[ImageFormatException: Input stream is not a supported format.] 
    ImageProcessor.ImageFactory.Load(Stream stream) +523 
    ImageProcessor.Web.HttpModules.<ProcessImageAsync>d__34.MoveNext() +3308 
    System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() +31 
    System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +62 
    System.Web.TaskAsyncHelper.EndTask(IAsyncResult ar) +64 
    System.Web.AsyncEventExecutionStep.OnAsyncEventCompletion(IAsyncResult ar) +162 

http://site.local/globalassets/sample_image.jpg?width=200

誰もが、私はこの作業を取得する方法上の任意の提案がある。このような200pxの幅に画像のサイズを変更しようとしている

...?画像は、幅パラメータなしで通常通りに表示されています。私は、私はいつも自分のIImageServiceを作成しなければならなかった画像プロセッサとEPiServerを使用していたプロジェクトで

http://site.local/globalassets/sample_image.jpg

+0

Episerverでの作業画像プロセッサを得るには良いブログの記事があります。httpsは://世界.episerver.com/blogs/vincent-baaij/dates/2017/10/episerver-and-imageprocessor-more-choice-for-developers-and-designers/ –

答えて

3

。このような

何か:

https://gist.github.com/andreas-cloudnine/34dc468205a230f0579585db17aa1593

使用しimagefileにはEPiServer.Core.ImageDataから継承プロジェクト内のメディアタイプです。

次に、あなただけのこの構成でセクション全体を交換するだけでなく、web.configファイルでそれを使用する必要があります。

<security> 
    <services> 
    <service name="EPiServerImageService" type="YourSite.EPiServerImageService, YourSite" /> 
</services> 
</security> 
+0

ニース!これまでEPiServerでImageProcessorを使っている人はいなかった。 –

+0

私は自分のexampelのような自分のIImageServiceを追加しようとしました。どこにどのように私はweb.configに追加する必要がありますか? web.configに追加した行の例を追加してください。ご協力いただきありがとうございます! – iixi

+0

設定で私の答えを更新しました。同意してください。 :) – Andreas