6

メディアファイルがグローバルCDNに保存されているという状況があります。私たちのWebアプリは独自のサーバーでホストされており、メディアアセットが必要になると、CDNURLから呼び出されます。最近、ユーザーが添付ファイルをダウンロードできるページがありましたが、一部のファイルタイプ(MP3など)はダウンロードではなくブラウザーで開いていました。これを回避する唯一の方法は、ファイルを添付するHTTP応答を手動で指定することでしたが、これを実現する唯一の方法は、ファイルをCDNからサーバーにダウンロードしてからユーザーにフィードバックすることでした。これにより、ファイルを作成する目的が失われます。グローバルCDNで。代わりに、これに対するクライアント側の解決策があるかどうか疑問に思っていますか?

編集:これがどこかで見つかりましたが、すべてのブラウザで正しく機能するかどうかはわかりませんか?

<body>
<script>
function downloadme(x){
myTempWindow = window.open(x,'','left=10000,screenX=10000');
myTempWindow.document.execCommand('SaveAs','null','download.pdf');
myTempWindow.close();
}
</script>

<a href=javascript:downloadme('/test.pdf');>Download this pdf</a>
</body>

再編集:まあ、そのアイデアはこれだけです-> execCommand SaveAsはFirefoxで機能しますか?

4

2 に答える 2

2

CDNでHTTPヘッダーを指定できますか?たとえば、Amazoncloudfrontはそうします。

于 2010-09-14T17:55:04.550 に答える
1

私はこれに対する簡単な解決策を見つけました。ファイル名にURLパラメータを追加します。これは、ブラウザをだまして、組み込みのファイルマッピングをバイパスさせます。たとえば、 http : //mydomain.com/file.pdfの代わりに、クライアント側のリンクをhttp://mydomain.com/file.pdfを指すように設定しますか?(疑問符を追加)

于 2014-02-20T19:26:15.100 に答える