質問

何が最良の方法をwebservice受け入れのイメージです。の画像がかなり大きい変更したいデフォルトの受信サイズのサポートも組み込まれています。私書を受け入れるバイナリイメージが思いきます。

役に立ちましたか?

解決

はこのイメージ"のお住まいはどこですか。" クセス可能で、ローカルファイルシステムやウェブ?その場合、私はあなたをおWebServiceを受けURIのとき、URLまたはローカルファイル)でストリームとして、それを用いStreamReaderの内容を読み込むます。

例がラップの特例FaultExceptions、追加FaultContractAttributes):

using System.Drawing;
using System.IO;
using System.Net;
using System.Net.Sockets;

[OperationContract]
public void FetchImage(Uri url)
{
    // Validate url

    if (url == null)
    {
        throw new ArgumentNullException(url);
    }

    // If the service doesn't know how to resolve relative URI paths

    /*if (!uri.IsAbsoluteUri)
    {
        throw new ArgumentException("Must be absolute.", url);
    }*/

    // Download and load the image

    Image image = new Func<Bitmap>(() =>
    {
        try
        {
            using (WebClient downloader = new WebClient())
            {
                return new Bitmap(downloader.OpenRead(url));
            }
        }
        catch (ArgumentException exception)
        {
            throw new ResourceNotImageException(url, exception);
        }
        catch (WebException exception)
        {
            throw new ImageDownloadFailedException(url, exception);
        }

        // IOException and SocketException are not wrapped by WebException :(            

        catch (IOException exception)
        {
            throw new ImageDownloadFailedException(url, exception);
        }
        catch (SocketException exception)
        {
            throw new ImageDownloadFailedException(url, exception);
        }
    })();

    // Do something with image

}

他のヒント

できない画像をアップロード、サーバ用のFTP、そのときに、サーバ(つまり、WCFサービスのフィンランドに簡単にアクセスです。そのような思想家と受信サイズ設定など。

少なくとも、どうしてよかったです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top