ファイルアップロード入力からファイルを取得し、document.body.style.backgroundImageを設定してプレビューできるソリューションを探しています。
次のコードは、Image要素にプレビューを表示するために機能します。
function setImage(id, target){
input = document.getElementById(id);
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
target.src = e.target.result;
};
reader.readAsDataURL(input.files[0]);
}
}
ここで、idはのIDであり<input type='file'>
、targetは<img>
要素です。
次のコードは、私が何をしたいのかを示していますが、e.target.resultはdata:image/png;base64
形式であり、cssがURLを要求する場合は明らかに機能しません。
function setBackgroundImage(id){
input = document.getElementById(id);
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
document.body.style.backgroundImage = e.target.result;
};
reader.readAsDataURL(input.files[0]);
}
}
ご協力ありがとうございました!