PDF视图未在IE中呈现

时间:2016-10-15 14:03:01

标签: javascript html angularjs pdf cross-browser

我正在尝试使用blob url设置为angularjs'在对话框中显示PDF。范围变量。这适用于谷歌浏览器,但它似乎不适用于IE,Edge或Firefox(最新版本)。

C#controller:

HttpResponseMessage result = null;

Stream stream = new MemoryStream(fileContent);

result = Request.CreateResponse(HttpStatusCode.OK);

result.Content = new StreamContent(stream);

result.Content.Headers.ContentDisposition = new System.Net.Http.Headers.ContentDispositionHeaderValue("attachment");

result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/pdf");

result.Content.Headers.ContentDisposition.FileName = fileName;

result.Content.Headers.Add("x-filename", fileName);

return result;

- >这里' fileContent'是一个字节数组。

角度控制器:

var data = $.param({
                ID: fileRowID
            });            

$http.post('api/getFileData', data, { responseType: 'arraybuffer' }).success(function (response) {
    var file = new Blob([(data)], { type: 'application/pdf' });
    var fileURL = URL.createObjectURL(file);
    $scope.fileContent = $sce.trustAsResourceUrl(fileURL); 
})

HTML:

< object style="width:100%; height:600px" type="application/pdf" data="{{fileContent}}" >< /object >

这段代码仅适用于Chrome。 <object><embed>无法使用IE,Edge或Firefox。我也试过了<iframe>,但blob网址并没有使用&#39; src&#39; <iframe>的属性。我不想使用msSaveBlob&#39;或者&#39; msSaveOrOpenBlob&#39;因为要求是显示PDF而不是下载。

0 个答案:

没有答案