我正在尝试编写一个 MVC3 应用程序,它将检索本地存储在服务器上的图像。在网页上显示它们并让用户标记图像以供以后查看。当我说标签时,我的意思是实际修改服务器上文件的“标签”属性。当我运行下面的代码时,我收到以下错误:“调用线程必须是 STA,因为许多 UI 组件需要这个”在“Image imageToTag = new Image(); 行。请帮助!我一直坚持这个大约 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;