Help us understand the problem. What is going on with this article?

javascriptからファイル保存ダイアログを出す

More than 5 years have passed since last update.

jsでファイルを保存するための方法.
html5をサポートしたブラウザなら動くはず.
投稿してから気がつきましたがほとんど同じ内容の投稿がありました.
javascriptで生成したファイルをローカルに保存する - Qiita

しかし,少しだけ記事の趣旨が違うのでこの記事も残しておきます.

手順

a要素を作成する.
a要素のhrefにダウンロードしたいリンクを代入する.
a要素にdownload属性に値をつける.
download属性にセットした値がファイル名となる.(拡張子はつけない方がよい)
a要素にクリックイベントを発生させる.

実際のコード

download.js
function download(url, name){
    var a = document.createElement('a');
    a.href = url;
    a.setAttribute('download', name || 'noname');
    a.dispatchEvent(new CustomEvent('click'));
}

上記の関数のurlにダウンロードしたいリンク,nameにファイル名を入れればよい.
safariやieでは動かない.
createObjectURLを組み合わせればArrayBufferなどを保存することもできる.

yaegaki
アセンブリからWebまで広くやっています。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした