2017-06-07 42 views
0

我正在爲一個項目工作,我必須實現一個功能:mp3下載。我只在Amazon S3上獲得了託管文件的URL,當我點擊一個按鈕時,它應該觸發下載。 我嘗試了HTML5的下載屬性,但它不適用於mozilla,它不適用於我。強制從所有瀏覽器的網址下載mp3。 Javascript/jQuery/reactJS

<a href="www.myurl.cloudfront.net/mymp3.mp3" download> Download </a> 

你們是否有任何解決方案使它適用於所有瀏覽器?或任何其他解決方案..

謝謝!

Nael酒店

回答

0

jQuery和陣營真的不很好地協同工作,至少不是操縱DOM節點。

如果您正在使用jQuery做AJAX調用和響應爲您的視圖層,你可以一個onClick處理程序連接到您的標記,這樣當用戶點擊時,你會得到一個Ajax請求,無論你想:

class YourComponent extends Component { 
    constructor(props) { 
    super(props); 
    this.handleClick = this.handleClick.bind(this) 
    } 
    handleClick(evt) { 
    const { currentTarget } = evt; 
    // currentTarget holds information of where you clicked, you can get your url from here 
    $.ajax({ 
     //Your ajax call here 
    }).then(data => //Handle your data, setState, etc.) 
    } 
    render() { 
    <div> 
     //Everything else 
     <a onClick={this.handleClick} url='...'> Download</a> 
    </div> 
    } 
}; 
+0

好的,但我怎麼能下載甚至在AJAX託管的MP3? –

+0

我相信你可以使用'window.open(url)',那應該會觸發一個下載 – BravoZulu

+0

不,mp3文件的問題就是window.open()或其他的東西如href等等。只需打開一個html5播放器 –