我有这个问题:
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转换的图像。
如何在服务器上解决此问题?
感谢
Mike
您很可能会出现此异常,因为您没有对用于存储嵌入dll的目录的写入权限。根据运行Magick.NET的平台,它会将x86或x64 dll写入临时目录。目录的位置为MagickAnyCPU.CacheDirectory
将此属性设置为应用程序可以写入的文件夹可能会解决此问题。