成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

使用 JavaScript object URLs,可以處理圖像、音頻和視頻

開發(fā) 前端
在這篇文章中,我們來看看如何使用object URL來引用可以使用DOM文件對象引用的數(shù)據(jù)。

許多Web應(yīng)用程序需要在前端處理文件輸入,或者將文件上傳到后端。

在這篇文章中,我們來看看如何使用object URL來引用可以使用DOM文件對象引用的數(shù)據(jù)。

使用object URLs

我們可以調(diào)用 URL.createObjectURL 來從文件對象中創(chuàng)建一個URL字符串對象,方法如下。

  1. const objectURL = window.URL.createObjectURL(fileObj); 

然后,我們可以在URL字符串對象上調(diào)用 revokeURL 以從內(nèi)存中釋放URL資源:

  1. URL.revokeObjectURL(objectURL); 

使用object URLs 顯示圖片

例如,我們可以使用 createObjectURL 方法在 img 元素中顯示選定的圖像文件,如下所示。

首先,我們編寫以下HTML:

  1. <input type="file"  accept="image/*"> 
  2. <img /> 

然后,我們可以編寫以下代碼來偵聽文件輸入的change事件,然后使用 createObjectURL 設(shè)置 img 元素的 src 屬性,如下所示:

  1. const fileInput = document.querySelector('input'); 
  2. const img = document.querySelector('img'); 
  3. fileInput.onchange = () => { 
  4.   const file = fileInput.files[0]; 
  5.   img.src = URL.createObjectURL(file); 
  6.   img.onload = () => { 
  7.     URL.revokeObjectURL(img.src); 
  8.   } 

在上面的代碼中,我們在選定的文件對象 file 上調(diào)用了 createObjectURL 來創(chuàng)建可以設(shè)置為 src 屬性值的URL。然后,在加載圖像時,我們調(diào)用 revokeObjectURL 清除用于創(chuàng)建URL的資源。

使用object URLs 顯示PDF

我們還可以使用object URL來顯示PDF。我們使用相同的 crateObjectURL 方法,但將其設(shè)置為 iframe 的URL而不是img元素。

例如,我們可以編寫以下HTML:

  1. <input type="file" > 
  2. <iframe> 

然后,我們可以將 src 屬性設(shè)置為PDF對象URL的iframe,如下所示:

  1. const fileInput = document.querySelector('input'); 
  2. const iframe = document.querySelector('iframe'); 
  3. fileInput.onchange = () => { 
  4.   const file = fileInput.files[0]; 
  5.   const objUrl = URL.createObjectURL(file); 
  6.   iframe.setAttribute('src', objUrl); 
  7.   URL.revokeObjectURL(objUrl); 

我們使用 createObjectURL 和上傳的PDF文件來創(chuàng)建Object URL字符串。然后我們可以為其設(shè)置 src 屬性。然后,PDF將顯示在Firefox的iframe中。

將 object URLs 與其他文件類型一起使用

Object URL也可以與其他文件類型一起使用。例如,我們可以選擇一個視頻文件并通過編寫以下代碼來播放它。首先,我們編寫以下HTML代碼:

  1. <input type='file' /> 
  2. <video controls /> 

然后,要播放從文件輸入中選擇的視頻文件,我們編寫:

  1. const fileInput = document.querySelector('input'); 
  2. const video = document.querySelector('video'); 
  3. fileInput.onchange = async () => { 
  4.   const file = fileInput.files[0]; 
  5.   const objUrl = URL.createObjectURL(file); 
  6.   video.src = objUrl
  7.   await video.play(); 
  8.   URL.revokeObjectURL(objUrl); 

在上面的代碼中,我們有一個異步函數(shù),該函數(shù)從選定的視頻文件創(chuàng)建Object URL。然后,將Object URL設(shè)置為video元素的src屬性。

然后,我們調(diào)用視頻 play 以播放視頻。 play 方法返回一個Promise,因此我們必須添加一個 await 等待該Promise的解決。

完成此操作后,我們可以在Object URL上調(diào)用 revokeObjectURL 以釋放資源。

總結(jié)

我們可以創(chuàng)建Object URL并將其設(shè)置為各種元素的src屬性,以顯示或播放它們。在大多數(shù)瀏覽器中,它都可以處理圖像,音頻和視頻。

責任編輯:趙寧寧 來源: 今日頭條
相關(guān)推薦

2022-08-12 08:38:52

FFmpegLinux命令

2010-10-08 10:03:52

JavaScript圖像

2023-01-05 16:51:04

機器學習人工智能

2019-09-10 10:44:29

物聯(lián)網(wǎng)工業(yè)物聯(lián)網(wǎng)智慧農(nóng)業(yè)

2010-02-02 17:18:16

Python圖像處理

2015-08-26 10:27:33

2023-03-09 15:25:49

2024-05-06 11:12:22

圖像處理數(shù)學計算NumPy

2016-10-31 20:21:05

LinuxOctave音頻文件

2016-10-31 19:41:50

LinuxOctave音頻文件

2023-11-24 09:26:29

Java圖像

2023-07-26 08:48:36

AForge庫.NET

2022-07-18 08:48:06

HtmxHTML

2025-02-17 12:00:00

PythonOpenCV提取圖像

2016-09-12 14:42:24

LinuxOctave音頻文件

2020-05-09 11:15:12

JavaScript圖像處理 開源

2020-05-12 11:35:53

JavaScript開源技術(shù)

2020-06-16 08:39:35

JavaScript圖像處理庫

2023-11-23 11:37:13

JavaScript數(shù)組

2009-06-10 21:51:42

JavaScript XMLFirefox
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 天堂综合网久久 | 成人免费视频在线观看 | 狠狠色香婷婷久久亚洲精品 | 亚洲精品国产第一综合99久久 | 中国黄色在线视频 | 欧美一级片在线观看 | 羞羞视频网站免费看 | 国产一级电影在线观看 | 欧美一区二区三区免费在线观看 | 澳门永久av免费网站 | 欧美日韩在线一区二区三区 | 91视频一区 | 国产日韩一区二区三免费高清 | 黑人巨大精品 | 男人天堂网址 | 999精品视频| 国产精品美女一区二区三区 | 欧美精品一区二区三区在线播放 | 国产成人精品一区二区三区在线 | 99精品欧美一区二区三区综合在线 | 国产综合在线视频 | av国产精品| 亚洲精品9999久久久久 | 91色视频在线 | 啪一啪在线视频 | 天天天操操操 | 精品国产欧美一区二区三区成人 | 91精品久久久久久久久 | 巨大荫蒂视频欧美另类大 | 一区二区在线不卡 | 日韩免费视频 | 91综合在线视频 | 国产91在线视频 | 国产91久久精品一区二区 | 国产精品美女久久久久久免费 | a黄视频 | 亚洲免费网 | 成人免费网站视频 | 欧美一级片 | 国产日韩欧美在线 | 欧美久久久久久久久 |