0

webpath assume にあったレポート(pdf)を表示したい(http://myservre/reports/myrepoft.pdf)。現在、このようにIFrame経由で表示されていました。

strReportPDFFile = "`http://myservre/reports/myrepoft.pdf`"

<IFRAME frameborder="1" onload="onchangestate()" src="" id="ifrmShowReport" frameborder="0" height="100%" width="100%" marginwidth="0"    align="top" style="overflow: none;overflow-x: auto;display:none"></IFRAME>

document.getElementById("formContainer").style.display = "block";
document.getElementById("ifrmShowReport").style.display = "block";
document.getElementById("ifrmShowReport").src = strReportPDFFile;

アドレスバーに表示されていた URL を非表示にしたい。出来ますか ?そうでない場合は、より良い代替案を提案してください。

4

1 に答える 1

1

あなたの質問(PDFファイルのURLを隠す)の主な理由はセキュリティの問題であると私は主張します。たとえば、サーバー上にいくつかのPDFファイルがあり、それらはすべての人からではなく、対象となる聴衆からのみ送信および読み取りする必要があります。

この意図を実現する方法について、いくつかの基本的なヒントを示します。

  • WebサーバーのパブリックルートからPDFファイルを配置します
  • 次のようなサーバー側スクリプトを実現します。
    • ユーザーが認証され、ファイルを取得するための許可を得ていることを確認してください
    • 正しいファイルを取得するためにいくつかのパラメーターを取得します
    • このサーバー側スクリプトのcontent-dispositionを使用してファイルを提供します(添付ファイルとして、正しいMime-Typeと「架空の」URLを送信します)

質問タグにC#を入れたので、C#を使用してヘッダーにcontent-dispositionを追加します。Response.AddHeader( "content-disposition"、@ "attachment; filename =" "MyFile.pdf" "");

次に、PDFを好きな場所に表示できます:空白のページ、iframe ...中レベルのインターネットユーザーにとって簡単に回避できる解決策の1つではなく、HTML/Javascriptだけで機能する解決策が見つからないことは間違いありません。

于 2013-02-05T15:39:34.263 に答える