0

我有这个问题:

1) 我已经在 VS2010 中通过 NUGET 下载了 Magick.NET-Q16-AnyCPU。2)我创建了这个函数来读取远程 svg 并将其转换为 itextSharp.text.Image 对象,如下所示:

iTextSharp.text.Image headeImage = null;

using (MagickImage image= new MagickImage(linksvgremote))
{ 
   Percentage percent = new Percentage(55);
   image.Resize(percent);
   headeImage = iTextSharp.text.Image.GetInstance(image.ToByteArray(MagickFormat.Png));

}

Javascript函数是:

 ApriDialogCaricamento();  
  var datiInput = {};

    datiInput.idTipo = idtipo;
    datiInput.clearEngine = clearengine;
    datiInput.nomeFileSvg = numfile;

    var jsonData = JSON.stringify(datiInput);

    var xhr = new XMLHttpRequest();
    xhr.onreadystatechange = function () {
        if (this.readyState == 4 && this.status == 200) {

            ChiudiDialogCaricamento();

            var url = window.URL || window.webkitURL;
            window.open(url.createObjectURL(this.response));
        }
    }

    xhr.open('POST', 'handlers/generaDatiTecniciPDF.ashx');
    xhr.responseType = 'blob';
    xhr.setRequestHeader('Content-Type', 'application/pdf');
    xhr.send(jsonData); 

它在本地工作正常,但是当我在 iis 服务器上上传时,javascript 函数返回此字符串:

加载资源失败,服务器响应状态为 500(内部服务器错误)

可以说问题出在上面描述的函数中......我知道,因为如果我评论它,它可以工作但不会生成 svg-converted-image 。

如何在我的服务器上解决它?

谢谢

麦克风

4

1 回答 1

0

您很可能会遇到此异常,因为您对用于存储嵌入式 dll 的目录没有写入权限。根据您在其上运行 Magick.NET 的平台,它会将 x86 或 x64 dll 写入临时目录。目录的位置是MagickAnyCPU.CacheDirectory将此属性设置为您的应用程序可以写入的文件夹可能会解决问题。

于 2016-05-11T18:52:26.140 回答