2016-10-02 12 views
0

私は、関数http://js.cytoscape.org/#cy.jpgを使ってjpg形式のグラフを取得します。javacriptで開く代わりにファイルをダウンロードする

window.location.assign(cy.jpg());と一緒に使用しますが、同じタブに画像が開きます。

タブで開くのではなく、ダウンロードします。私はcontent-disposition = attachmentかそのようなものを設定しなければならないと思う。

編集

私は、しかし、それはすべてのブラウザで互換性がありません

const link = document.createElement('a'); 
link.download = 'filename.png'; 
link.href = cy.png(); 
link.click(); 

でそれを解決しました。あなたはcy.png()結果に<a>要素href属性を設定することができます

+0

を参照してください。この機能はあなたのBase64表現を与えるようです。アップロードする1つの方法は、enctype = "multipart/form-data"で値をPOSTすることです。 – Tom

答えて

0

<a>要素にclick()を呼び出し、<a>要素でdownload属性を設定します。

また、あなたが"application/octet-stream"cy.png()によって返さdata URIMIME種類"image/png"部分を置き換えることができ、その後、交換data URIlocation.hrefを設定

var url = cy.png(); 
    url = url.replace("image/png", "application/octet-stream"); 
    window.location.href = url; 

How to download a file without using <a> element with download attribute or a server?

関連する問題