0

DLGuard を使用してショップでの購入後にカスタム ファイルのダウンロード URL を作成するダウンロード ページに取り組んでいます。

例えば:

<a href="downloadfile.php?r=11034705&p=42">Download</a>

ページ上のハイパーリンクになりますが、これをクリックすると次の URL に移動します。

foo.s3.amazonaws.com/example.mp3?AWSAccessKeyId=...

私の質問は、ajax 呼び出しを使用してページから移動することなく、.mp3 の URL を見つけることは可能ですか? これまでのところ、次のコードを試しました。

<script>
    var downloadURL = $("a.button").attr('href');
    console.log(downloadURL);

$.ajax({
    type: 'GET',
    url: downloadURL,
    success: function () {
        alert("done!");
    }
});

</script>

ただし、次のエラー メッセージのみが表示されます。

XMLHttpRequest はhttp://foo.s3.amazonaws.com/example.mp3をロードできません... オリジンhttp://www.example.co.ukは Access-Control-Allow-Origin で許可されていません。

必要なのは、文字列として保存されている .mp3 ファイルの URL だけです。誰でも助けることができますか?

4

3 に答える 3

0

同じドメインのサーバーに ajax 呼び出しを行います。次に、php で次のようにします。

$page_data = file_get_contents('foo.s3.amazonaws.com/example.mp3?AWSAccessKeyId=...');
echo $page_data;

またはcurlなどを使用したその他の種類のphp getリクエスト。

于 2013-09-30T22:35:29.620 に答える
0

クロス オリジン ポリシーについては、次の URL を参照してください。

https://developer.mozilla.org/en/docs/HTTP/Access_control_CORS

http://en.wikipedia.org/wiki/Cross-origin_resource_sharing

于 2013-09-30T20:52:02.797 に答える