一、Python根據URL下載圖片
Python也可以根據URL下載圖片,但是與Java不同的是,Python可以使用Python的內置模塊requests來方便地完成圖片下載。
import requests
url = "http://example.com/image.jpg"
response = requests.get(url)
open("image.jpg", "wb").write(response.content)
以上Python代碼會從URL下載圖片,並將其保存在本地的image.jpg文件中。
二、JS根據URL下載圖片
JS可以通過創建一個Image對象,然後將其src屬性賦值為圖片的URL來加載圖片。然後可以將其繪製到一個HTML5 canvas元素中,最後可以將canvas中的內容作為圖片保存到本地。
var canvas = document.createElement("canvas");
var context = canvas.getContext("2d");
var img = new Image();
img.onload = function() {
canvas.width = img.width;
canvas.height = img.height;
context.drawImage(img, 0, 0);
var link = document.createElement("a");
link.download = "image.png";
link.href = canvas.toDataURL();
link.click();
}
img.src = "http://example.com/image.png";
以上JS代碼會從URL下載圖片,並將其保存在本地的image.png文件中。
三、根據URL批量下載圖片
如果需要從多個URL下載圖片,可以將其作為一個列表,然後使用Java中的循環結構來完成批量下載。
import java.io.*;
import java.net.URL;
public class DownloadImages {
public static void main(String[] args) {
String[] urls = {"http://example.com/image1.jpg", "http://example.com/image2.jpg", "http://example.com/image3.jpg"};
for (String url : urls) {
try {
URL imageUrl = new URL(url);
InputStream inputStream = imageUrl.openStream();
OutputStream outputStream = new FileOutputStream("image" + url.substring(url.lastIndexOf(".")));
int bytesRead = -1;
byte[] buffer = new byte[4096];
while ((bytesRead = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, bytesRead);
}
outputStream.close();
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
以上Java代碼會批量從URL下載圖片,並將其分別保存在image1.jpg、image2.jpg和image3.jpg文件中。
四、前端通過URL下載圖片
前端也可以通過創建一個HTML5的a元素,將其href屬性設置為圖片的URL,然後將其添加到DOM樹中。用戶可以通過點擊這個鏈接來下載圖片。
var link = document.createElement("a");
link.download = "image.jpg";
link.href = "http://example.com/image.jpg";
document.body.appendChild(link);
link.click();
以上JS代碼會在頁面上創建一個下載鏈接,用戶可以通過點擊下載鏈接來下載圖片。
五、Vue通過URL下載圖片
Vue也可以通過創建一個a元素,將其href屬性設置為圖片的URL,然後將其添加到DOM樹中。但是與普通的JS不同的是,Vue中需要使用Vue的template語法來實現類似HTML的結構。
<template>
<a href="http://example.com/image.jpg" download="image.jpg">Download Image</a>
</template>
<script>
export default {
name: 'DownloadImage'
}
</script>
<style scoped>
a {
color: blue;
text-decoration: underline;
cursor: pointer;
}
</style>
以上Vue代碼會在頁面上創建一個下載鏈接,用戶可以通過點擊下載鏈接來下載圖片。
原創文章,作者:KVXP,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/143571.html