无法从Azure存储中查看PDF嵌入式URL

时间:2013-12-17 01:30:21

标签: javascript azure azure-storage

所以我出于某种原因无法将这个工作网址视为pdf:

<object data="https://allpro.blob.core.windows.net/temp/9212-9292MiramarRd-Prelim-12-17-2013.pdf" type="application/pdf" width="100%" height="100%"></object>

<embed src="https://allpro.blob.core.windows.net/temp/9212-9292MiramarRd-Prelim-12-17-2013.pdf" width="500" height="375">

我正在使用PdfObject库将我的网址嵌入我的网页。正如你所看到的网址工作正常: https://allpro.blob.core.windows.net/temp/9212-9292MiramarRd-Prelim-12-17-2013.pdf

4 个答案:

答案 0 :(得分:1)

我注意到有关PDF文件的一件事是它的内容类型设置为application/octet-stream(我在Fiddler中检查过它)。

当我直接在Chrome或Mozilla中输入PDF文件的URL时,它会提示我保存文件,而不是在浏览器中显示。尝试在IE中打开你的页面,它应该工作得很好(IE在这个意义上更宽容)。要使其在其他浏览器中运行,只需将blob的内容类型更改为application/pdf,您就会看到embedobject标记有效。

答案 1 :(得分:0)

试一试。

<iframe src="http://docs.google.com/gview?url=Your pdf URL &embedded=true" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen style="width: 100%; height: 100%;">
</iframe>

答案 2 :(得分:0)

据我所知,无论是否拥有Google帐号。 以下是使用对象标记的源。试着参考它。

<object data="YOUR PDF URL#status=1&menubar=0&toolbar=0&location=0&resizable=1&scrollbars=1" type="application/pdf" width="100%" height="100%">
        <param name="src" value="YOUR PDF URL#status=1&menubar=0&toolbar=0&location=1&resizable=1&scrollbars=1" />
</object> 

答案 3 :(得分:0)

我放弃了这个问题,因为我在使用 Object/Embed 时遇到了同样的问题,并且在使用 PdfObject 时遇到了一些奇怪的行为。

事实证明,我没有使用正确的 ContentType 将我上传的文件标记到 Azure Blob。上传已将文件设置为“application/octet-stream”,需要为“application/pdf”

我不得不添加一些额外的代码来强制它使用正确的内容类型 - 之后我可以毫无问题地嵌入。 PdfObject 现在也能正确显示,而不是下载文件。

// Set correct ContentType
var blobHttpHeader = new BlobHttpHeaders();
blobHttpHeader.ContentType = "application/pdf";
destBlobClient.SetHttpHeaders(blobHttpHeader);