0

サーバーにローカルに保存されている画像を取得する MVC3 アプリケーションを作成しようとしています。それらを Web ページに表示し、ユーザーが画像にタグを付けて後で確認できるようにします。タグとは、サーバー上のファイルの「タグ」プロパティを実際に変更することを意味します。以下のコードを実行すると、「Image imageToTag = new Image(); 行で、多くの UI コンポーネントがこれを必要とするため、呼び出し元のスレッドは STA でなければなりません」というエラーが表示されます。約 3 日間、マルチスレッドをあまり行ったことはありません。

Image imageToTag = new Image();      


        BitmapImage myBitmapImage = new BitmapImage();
        var root = @"C:\Images\";
        imageURLProcessed = Path.GetFullPath(@imageURLProcessed);
        // BitmapImage.UriSource must be in a BeginInit/EndInit block
        myBitmapImage.BeginInit();
        if (!imageURLProcessed.StartsWith(root))
        {
            // Ensure that we are serving file only inside the root folder
            // and block requests outside like "../web.config"
            throw new HttpException(403, "Forbidden");
        }
        myBitmapImage.UriSource = new Uri(@imageURLProcessed);
        myBitmapImage.EndInit();
        imageToTag.Source = myBitmapImage;

        imageToTag.Tag = tags;
4

1 に答える 1