我正在嘗試使用以下代碼顯示pdf文件:
<object class="ss-pdfjs-viewer" id="pdfDocument" runat="server" data= "Documents/test1.pdf" type="application/pdf" allowfullscreen webkitallowfullscreen >
<iframe class="ss-pdfjs-viewer" id="test" src="https://docs.google.com/viewer?url=https://localhost:44307/WebForm1&embedded=true&allowDownload=true&allowPrint=true" allowfullscreen webkitallowfullscreen></iframe>
</object>
上面的代碼可以正常工作。問題是這個名為test1.pdf的pdf文件存儲在我的應用程序路徑中。是否可以顯示來自網絡路徑而不是應用程序路徑的pdf文件,例如,如果我在這個位置存儲了test1.pdf文件:
\\web-d\test\path\test1.pdf.
如果我需要從我的網絡路徑而不是應用程序路徑顯示此pdf文件,我該怎么辦。我試著這樣做,但沒有成功,它沒有在網頁上顯示任何內容:
<object class="ss-pdfjs-viewer" id="pdfDocument" runat="server" data= "\\web-d\test\path\test1.pdf" type="application/pdf" allowfullscreen webkitallowfullscreen >
<iframe class="ss-pdfjs-viewer" id="test" src="https://docs.google.com/viewer?url=https://localhost:44307/WebForm1&embedded=true&allowDownload=true&allowPrint=true" allowfullscreen webkitallowfullscreen></iframe>
</object>
任何幫助都將不勝感激。
你需要在UNC路徑前面給它一個文件協議,否則瀏覽器不知道如何處理。
注意
file://\\web-d\test\path\test1.pdf
位于下面標記的兩個位置。在我的本地測試中,這對我很有效,但有很多情況下,它沒有被描述,要么是由于瀏覽器安全規則,本地網絡/防火墻或其他問題,所以YMMV。
查看此搜索以了解未來的問題。
更好的選擇可能是讓您的Web服務器在該網絡位置打開該文件,然后將其流式傳輸到客戶端。例如,從URL-asp.net或其他解決類似問題的方法下載/流文件。