色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

如何使用HTML格式上傳文件中的圖像作為背景?

林玟書1年前8瀏覽0評論

我正在嘗試使用& lt輸入類型= & quot文件& quot& gt允許用戶上傳將用作背景的圖像。我不知道是否需要獲取文件的完整路徑。

這是我嘗試使用的輸入:& lt輸入類型= & quot文件& quotname = & quot選擇背景id = & quot選擇背景接受= & quot圖像/png,圖像/JPEG & quot;& gt 這是與輸入相關聯的JavaScript background = select background . value;document . body . style . background = & quot;# 4d 3325 URL(& quot;+背景+& quot;')不重復中心中心固定& quot;document . body . style . background size = & quot;自動100% & quot;;

背景沒有任何變化,當我試圖將它顯示為常規圖像時,它只是顯示一個小的圖像圖標。

使用URL.createObjectURL()

通過使用這個,上傳的圖像文件被轉換成對象url。

最后,當我們更改另一個圖像時,我們應該使用url.revokeObjectURL()從內存中刪除舊的URL,以便更好地管理內存。

function file(e){
               window.url && URL.revokeObjectURL(window.url);// release memory
               const f = e.target.files[0];
               let url = URL.createObjectURL(f);
               window.url = url;
               document.getElementsByClassName('container')[0].style.backgroundImage = `url(${url})`;
}

.container{
        width: 100px;
        height: 100px;
        border: 1px solid lightgrey;
        margin: 10px;
        background-size: contain;
        background-repeat: no-repeat;
}

<div class='container'></div>
 <input type='file' accept=".png, .jpg, .jpeg, .gif .bmp" onchange="file(event)">

嗨,朋友,請檢查該解決方案是否符合您的需求:

var input = document.getElementById('input');
input.addEventListener('change', readURL, true);

function readURL() {
  var file = document.getElementById("input").files[0];
  var reader = new FileReader();
  reader.onloadend = function() {
    var image = new Image();

    image.src = reader.result;

    image.onload = function() {
      document.getElementById("myDiv").style.backgroundImage = "url(" + reader.result + ")";
    }
  }
  if (file) {
    reader.readAsDataURL(file);
  }
}

<div id="myDiv" style="width:200px; height:200px">
  <input type="file" id="input" class="custom-file-input" accept=".png, .jpg, .jpeg, .gif .bmp" />
</div>