0

它在我的本地系统上运行良好。但不在现场。我使用此代码块使用 ckeditor 上传图像。我打电话给托管服务提供商。我必须以中等或高信任级别编写这些代码。托管公司不支持完全信任级别。如果我可以使用 web.config 更改信任级别完全,它工作正常。如何编写或更改支持高或中信任级别的代码。

错误:安全异常

说明:应用程序试图执行安全策略不允许的操作。要授予此应用程序所需的权限,请联系您的系统管理员或在配置文件中更改应用程序的信任级别。

异常详细信息:System.Security.SecurityException:请求“System.Security.Permissions.MediaPermission,WindowsBase,版本=3.0.0.0,文化=中性,PublicKeyToken=31bf3856ad364e35”类型的权限失败。

public static ImageMedia Create(byte[] data)
{
    ImageMedia result = new ImageMedia();
    result._source = BitmapDecoder.Create(new MemoryStream(data), BitmapCreateOptions.PreservePixelFormat, BitmapCacheOption.None).Frames[0];
    result._data = data;
    try { result._copyright = ((BitmapMetadata)result._source.Metadata).Copyright; }
    catch (Exception) { }
    return result;
}
4

1 回答 1

0

3.0方式需要完全信任。您可以尝试从较低级别的位图中获取信息

Bitmap MyPhoto =
    new Bitmap(@"myphoto.JPG");
PropertyItem[] props =
    MyPhoto.PropertyItems;
foreach (PropertyItem prop in props)
{
    MessageBox.Show(
        prop.Id.ToString());
}

阅读本文了解更多详情: http: //www.developerfusion.com/article/84474/reading-writing-and-photo-metadata/

于 2013-06-23T17:35:35.970 回答