国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

JS批量下載圖片

這篇具有很好參考價值的文章主要介紹了JS批量下載圖片。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

JS批量下載圖片或文件(V2,已詳細解說)

目標

例如,你在網(wǎng)上,看到某個網(wǎng)頁可以下載很多圖片資源,但是沒有批量下載怎么辦?于是,幻想有這么個函數(shù) downloadImages(imageURLs) 批量下載。咋整?

方案

解決下載問題

一般情況下,用 <a> 標簽可以實現(xiàn)文件的下載功能。一般下載是這樣的代碼:

<a href="/path/to/receipt.pdf" download>下載</a>

如此,點擊下載,即可顯示下載,此時文件名跟原名一樣receipt.pdf。

download 屬性配置目標文件(就是 href 屬性指定的文件 )將被執(zhí)行下載操作。

download 的可配置一個值,作為下載后的文件名。如果文件名沒有限制,那么瀏覽器將自動檢測當前文件的擴展名并添加到文件上 (.img, .pdf, .txt, .html, 等等)

如果沒有配置一個值,原始文件名將被用上。

下邊這種情況指定文件名。

<a href="/path/to/receipt.pdf" download="收據(jù)">下載</a>

如此,點擊下載,即可顯示下載并且文件名為收據(jù).pdf。

解決下載圖片時總是預(yù)覽的問題

你可能已經(jīng)意識到,上邊的的這個方式對圖片無法達到真正的下載,而是單純的預(yù)覽。應(yīng)該怎么做呢?

我們可以通過將圖片的二進制信息以Blob對象的方式存儲,將其轉(zhuǎn)換為URL對象,再讓 <a> 來下載它。

  1. fetch(imgUrl).then(res => blob()) 來獲取圖片二進制信息
  2. URL.createObjectURL(blob) 來創(chuàng)建圖片的 URL 對象
  3. document.createElement("a") 來創(chuàng)建下載鏈接對象
  4. <a href="{url}" download> 來重新指向需要下載的圖片資源
  5. 點擊下載即可
  6. 清理創(chuàng)建的對象即可(URL、下載鏈接)
function downloadImage(filename, url) {
  fetch(url)
    .then((res) => res.blob())
    .then((blob) => {
      // create URL and Link
      const url = window.URL.createObjectURL(blob);
      const a = document.createElement("a");
      a.href = url;
      a.download = filename;
      document.body.appendChild(a);

      // Invoke download
      a.click();

      // remove URL and Link
      window.URL.revokeObjectURL(url);
      a.remove();
    })
    .catch((err) => console.error(err.message));
}

// 已下載的文件名為"new-filename.jpg"
downloadImage('new-filename', 'path/or/url/to/your/image.jpg')

注意下載圖片的時候,最好是在圖片URL相同的域名之下,否則很多圖片是禁止跨域訪問的。

解決批量問題

這里不是批量下載如何寫循環(huán)的問題,而是

  1. 因為程序太快然而下載太慢所導(dǎo)致的一系列問題

我們就簡化處理,一秒鐘讓它發(fā)送一個下載圖片的請求。

for (let i=0; i<urls.length; i++) {
  setTimeout(() => {
    // codes for downloading an image
  }, i*1000)
}

總結(jié)代碼

“Talk is cheap, show you the code”:

function downloadImage(filename, url) {
  fetch(url)
    .then((res) => res.blob())
    .then((blob) => {
      // create URL and Link
      const url = window.URL.createObjectURL(blob);
      const a = document.createElement("a");
      a.href = url;
      a.download = filename;
      document.body.appendChild(a);

      // Invoke download
      a.click();

      // remove URL and Link
      window.URL.revokeObjectURL(url);
      a.remove();
    })
    .catch((err) => console.error(err.message));
}

function downloadImages(urls) {
  for (let i = 0; i < urls.length; i++) {
    setTimeout(() => {
      // codes for downloading an image
      downloadImage(`${Date.now()}`, urls[i]);
    }, i * 1000);
  }
}

// download two images for example
downloadImages(["/path/to/image1.jpg", "/path/to/image2.png"]);

搞定,收功。

創(chuàng)作不易,請多珍惜。文章來源地址http://www.zghlxwxcb.cn/news/detail-475151.html

到了這里,關(guān)于JS批量下載圖片的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Vue3 - 超詳細 “純前端“ 將阿里云 OSS 存儲文件刪除教程,支持單個 / 批量刪除各種圖片圖像、文檔、音視頻文件、壓縮包等文件(附完整示例運行源碼,保證新手小白 100% 輕松實現(xiàn)刪除功能)

    Vue3 - 超詳細 “純前端“ 將阿里云 OSS 存儲文件刪除教程,支持單個 / 批量刪除各種圖片圖像、文檔、音視頻文件、壓縮包等文件(附完整示例運行源碼,保證新手小白 100% 輕松實現(xiàn)刪除功能)

    如果您需要純前端將文件上傳到阿里云 OSS,請訪問:這篇文章。 本文站在新手的角度, 在 vue3 項目開發(fā)中,超詳細 “純前端(無需后端)” 刪除阿里云oss文件,支持單個刪除或批量刪除oss存儲上的各種圖片圖像、文檔、音視頻文件、壓縮包等文件, 你可以直接復(fù)制示例源

    2024年01月18日
    瀏覽(28)
  • Selenium批量自動化獲取并下載圖片

    Selenium批量自動化獲取并下載圖片 在現(xiàn)代的Web開發(fā)中,自動化測試和數(shù)據(jù)抓取已經(jīng)成為不可或缺的一部分。Selenium作為一款強大的自動化測試工具,不僅可以用于測試Web應(yīng)用,還可以用于批量獲取網(wǎng)頁上的圖片。本文將介紹如何使用Selenium批量自動化獲取并下載圖片。 一、準

    2024年01月22日
    瀏覽(23)
  • Python實現(xiàn)批量圖片下載及去重處理

    Python實現(xiàn)批量圖片下載及去重處理

    在爬蟲應(yīng)用開發(fā)中,常常需要批量下載圖片,并對圖片進行去重處理。Python 是一種非常流行的編程語言,也是開發(fā)爬蟲應(yīng)用的首選,本文將介紹如何使用 Python 下載圖片,并對下載的圖片進行去重處理。 首先,我們需要使用 Python 中的 Requests 庫來下載圖片,并使用 OS 庫來創(chuàng)

    2023年04月17日
    瀏覽(21)
  • Python爬蟲系列(二)——Python爬蟲批量下載百度圖片

    Python爬蟲系列(二)——Python爬蟲批量下載百度圖片

    1. 前言 先貼代碼 如果要使用上述程序的話,需要修改兩個地方 : self.directory 這是本地存儲地址,修改為自己電腦的地址,另外,**{}**不要刪 spider.json_count = 10 這是下載的圖像組數(shù),一組有30張圖像,10組就是三百張,根據(jù)需求下載 也可以去gitee倉庫直接下載程序。 關(guān)于 py

    2023年04月08日
    瀏覽(95)
  • Java批量下載書籍圖片并保存為PDF的方法

    因為經(jīng)常出差火車上沒網(wǎng)、不方便電子書閱讀器批注,需要從某網(wǎng)站上批量下載多本書籍的圖片并自動打包成PDF文件。 1、嘗試獲得圖片地址,發(fā)現(xiàn)F12被禁 解決方法:使用Chrome瀏覽器,點擊右上角三個點呼出菜單,選擇“更多工具”-“開發(fā)者工具” 或者使用Ctrl+Shift+C、Ctrl

    2024年02月13日
    瀏覽(20)
  • Python爬蟲實戰(zhàn)(六)——使用代理IP批量下載高清小姐姐圖片(附上完整源碼)

    Python爬蟲實戰(zhàn)(六)——使用代理IP批量下載高清小姐姐圖片(附上完整源碼)

    本次爬取的目標是某網(wǎng)站4K高清小姐姐圖片: 實現(xiàn)批量下載指定的圖片,存放到指定文件夾中: Python:3.10 編輯器:PyCharm 第三方模塊,自行安裝: 爬蟲使用代理IP的好處有以下幾點: 輪換IP地址 :使用代理IP可以輪換IP地址,降低被封禁的風(fēng)險,從而保持爬取的連續(xù)性

    2024年02月07日
    瀏覽(93)
  • Python批量導(dǎo)入圖片到Word文件

    Python批量導(dǎo)入圖片到Word文件

    問題背景:2017年4月應(yīng)華章公司邀請,翻譯一本來自美國的Python入門教材,全書共750頁,2018年4月完成翻譯交稿,2018年9月責(zé)任編輯寄來樣稿進行印刷前校對。經(jīng)過半個月的檢查和校對,又進行了一些小的修改和完善。為避免辛苦修改后的樣稿被寄丟,也為了節(jié)省郵寄路上的時

    2023年04月16日
    瀏覽(28)
  • 文件夾的批量下載

    文件夾的批量下載

    ? ? ? ? 公司想實現(xiàn)文件系統(tǒng)下載,上次圖簡單就草率的寫了文件下載,這不趁著同事請假趕集吧這坑給填上。? ? ? ?? ? ? ? ? ? 剛準備開始寫,就頭疼,文件只要獲得數(shù)據(jù)輸出流就行,但是這文件夾需要維護層級關(guān)系。 ? ? ? ? 前端給的是服務(wù)器的絕對地址,還得服務(wù)

    2024年02月11日
    瀏覽(29)
  • 【批量區(qū)域識別內(nèi)容重命名】批量識別圖片區(qū)域文字并重命名,批量圖片部分識別內(nèi)容重命文件,PDF區(qū)域識別提取重命名

    【批量區(qū)域識別內(nèi)容重命名】批量識別圖片區(qū)域文字并重命名,批量圖片部分識別內(nèi)容重命文件,PDF區(qū)域識別提取重命名

    我們在工作和生活中經(jīng)常遇到這樣的需求:比如將以下的圖片區(qū)域識別進行重命名,批量識別后改成以時間和工作內(nèi)容重命名,便于日后檢索,快速查詢 首先我們拍攝照片用到的是水印相機,這里的文字呢我們需要加個背景,這樣在文字識別就很容易的被識別,準確率也非常

    2024年04月25日
    瀏覽(29)
  • 通俗易懂【Springboot】 單文件下載和批量下載(多個文件合成一個壓縮包下載)

    通俗易懂【Springboot】 單文件下載和批量下載(多個文件合成一個壓縮包下載)

    1.簡單理解文件下載 文件下載,是從服務(wù)器下載到本地電腦。 文件下載的原理,首先通過IO流將服務(wù)器的文件讀取到內(nèi)存里(只有將數(shù)據(jù)讀到內(nèi)存,電腦才可以操作數(shù)據(jù)),讀取后文件數(shù)據(jù)存放在內(nèi)存中,將內(nèi)存中的數(shù)據(jù)通過網(wǎng)絡(luò)發(fā)送給本地客戶端的瀏覽器。本地客戶端的瀏

    2024年02月08日
    瀏覽(28)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包