4

5kb jpeg 画像をディレクトリにアップロードするために、C# で WebService アプリケーションを開発しました。Somee.com で WebService を実行すると、問題なく動作し、その Web サービスを使用してファイルをアップロードできます。しかし最近、私のパートナーが彼の専用サーバーから Web ホスティング アカウントを提供してくれたので、そこに Web サービスをアップロードしました。画像をアップロードしようとすると、常に次のエラーが表示されます

Server was unable to process request.-->  A generic error occured in GDI+ 

WebMethod はイメージの BiteArray を引数として取り、バイト配列を Image に変換してから、そのイメージの NewInstance を作成し、前のものを Dispose します。次に、WebService ディレクトリにある「MyFileUploads」というフォルダに画像を保存します。

このエラーが発生する理由と修正方法を教えてください。どんな助けも非常に高く評価されます。

4

2 に答える 2

1

画像を保存するディレクトリのパーミッションを変更しました。そして、それは私が画像を保存するディレクトリに読み取り/書き込み許可を付与するのに役立ちました.

于 2013-06-18T18:00:53.667 に答える
1

このhttp://msdn.microsoft.com/en-us/library/windows/desktop/ms533798(v=vs.85).aspxによると、GDI+ はサービス環境で使用することは想定されていません。これにより、発生しているエラーを説明できます。.NET Image クラスは、基本的に Windows GDI+ API のラッパーです。

解決策として、次の 2 つのオプションがあります。

1)何らかの画像操作を行っているとは言いません。単に画像をディレクトリに保存しているだけです。バイト配列を出力ファイルに直接保存しようとしましたか?

2) イメージを処理する必要がある場合は、GDI+ を使用しないサードパーティのイメージング ライブラリを使用してみてください。https://code.google.com/p/aforge/は、この種のことにはかなり適していることがわかりました。

于 2013-06-18T17:42:36.303 に答える